@@ -112,6 +112,7 @@ fn format_paths_as_tree(paths: &[std::path::PathBuf]) -> String {
112112}
113113
114114/// Initialize a new `darn` workspace.
115+ #[ allow( clippy:: unused_async) ] // Called from async context, keeping signature uniform
115116pub ( crate ) async fn init ( path : & Path , out : Output ) -> eyre:: Result < ( ) > {
116117 out. intro ( "darn init" ) ?;
117118
@@ -121,52 +122,7 @@ pub(crate) async fn init(path: &Path, out: Output) -> eyre::Result<()> {
121122
122123 out. success ( & format ! ( "Initialized workspace at {}" , root. display( ) ) ) ?;
123124
124- // Open workspace to track .darnignore
125- let darn = Darn :: open ( & root) . await ?;
126- let mut manifest = darn. load_manifest ( ) ?;
127-
128- // Track .darnignore if it exists
129- let darnignore_path = root. join ( ".darnignore" ) ;
130- if darnignore_path. exists ( ) {
131- // Create File from .darnignore
132- let doc = darn_core:: file:: File :: from_path ( & darnignore_path) ?;
133- let file_type = darn_core:: file:: file_type:: FileType :: Text ;
134-
135- // Convert to Automerge
136- let mut am_doc = doc. into_automerge ( ) ?;
137-
138- // Generate random SedimentreeId (16-byte for automerge-repo compatibility)
139- let sedimentree_id = darn_core:: generate_sedimentree_id ( ) ;
140-
141- // Store as sedimentree commits
142- darn_core:: sedimentree:: store_document ( darn. subduction ( ) , sedimentree_id, & mut am_doc)
143- . await ?;
144-
145- // Add to root directory
146- darn_core:: sedimentree:: add_file_to_directory (
147- darn. subduction ( ) ,
148- manifest. root_directory_id ( ) ,
149- ".darnignore" ,
150- sedimentree_id,
151- )
152- . await ?;
153-
154- // Compute digests
155- let file_system_digest = darn_core:: manifest:: content_hash:: hash_file ( & darnignore_path) ?;
156- let sedimentree_digest =
157- darn_core:: sedimentree:: compute_digest ( darn. subduction ( ) , sedimentree_id) . await ?;
158-
159- // Add to manifest
160- let entry = darn_core:: manifest:: tracked:: Tracked :: new (
161- sedimentree_id,
162- std:: path:: PathBuf :: from ( ".darnignore" ) ,
163- file_type,
164- file_system_digest,
165- sedimentree_digest,
166- ) ;
167- manifest. track ( entry) ;
168- darn. save_manifest ( & manifest) ?;
169- }
125+ let manifest = Manifest :: load ( & initialized. manifest_path ( ) ) ?;
170126
171127 if out. is_porcelain ( ) {
172128 let root_dir_url = sedimentree_id_to_url ( manifest. root_directory_id ( ) ) ;
@@ -430,7 +386,7 @@ async fn clone_directory_recursive_with_sync(
430386 Ok ( file_count)
431387}
432388
433- /// Add patterns to .darnignore .
389+ /// Add ignore patterns to the `.darn` config .
434390pub ( crate ) fn ignore ( patterns : & [ String ] , out : Output ) -> eyre:: Result < ( ) > {
435391 let darn = Darn :: open_without_subduction ( Path :: new ( "." ) ) ?;
436392 let root = darn. root ( ) ;
@@ -461,13 +417,13 @@ pub(crate) fn ignore(patterns: &[String], out: Output) -> eyre::Result<()> {
461417 }
462418
463419 if !out. is_porcelain ( ) && added_count > 0 {
464- out. info ( & format ! ( "{added_count} pattern(s) added to .darnignore " ) ) ?;
420+ out. info ( & format ! ( "{added_count} pattern(s) added to .darn ignore list " ) ) ?;
465421 }
466422
467423 Ok ( ( ) )
468424}
469425
470- /// Remove patterns from .darnignore .
426+ /// Remove ignore patterns from the `.darn` config .
471427pub ( crate ) fn unignore ( patterns : & [ String ] , out : Output ) -> eyre:: Result < ( ) > {
472428 let darn = Darn :: open_without_subduction ( Path :: new ( "." ) ) ?;
473429 let root = darn. root ( ) ;
@@ -488,7 +444,7 @@ pub(crate) fn unignore(patterns: &[String], out: Output) -> eyre::Result<()> {
488444 if out. is_porcelain ( ) {
489445 out. kv ( "not_found" , pattern) ?;
490446 } else {
491- out. warning ( & format ! ( "Not in .darnignore : {pattern}" ) ) ?;
447+ out. warning ( & format ! ( "Not in ignore list : {pattern}" ) ) ?;
492448 }
493449 }
494450 Err ( e) => {
@@ -499,7 +455,7 @@ pub(crate) fn unignore(patterns: &[String], out: Output) -> eyre::Result<()> {
499455
500456 if !out. is_porcelain ( ) && removed_count > 0 {
501457 out. info ( & format ! (
502- "{removed_count} pattern(s) removed from .darnignore "
458+ "{removed_count} pattern(s) removed from .darn ignore list "
503459 ) ) ?;
504460 }
505461
0 commit comments