[darcs-users] Re: get/pull/push

Mark Stosberg mark at summersault.com
Sat Feb 26 01:40:29 UTC 2005


On 2005-02-25, Ashley Yakeley <ashley at semantic.org> wrote:
>
> I appreciate that it may not be appropriate to silently and 
> unpredictably create new repositories, so perhaps prompting would be 
> more appropriate. Right now, if you call "pull" in a directory without a 
> repository, this happens:
>
>   $ darcs pull "http://www.abridgegame.org/repos/darcs/"
>
>   darcs failed:  Unable to "darcs pull" here.
>
>   You need to be in a repository directory to run this command.

This diagnostic message would be improved to add another line or two:

 If you want to create a initialize a new repository from this source,
 use: 
    darcs get "http://www.abridgegame.org/repos/darcs/"

> Consider changing this to:
>
>   $ darcs pull "http://www.abridgegame.org/repos/darcs/"
>   Not in a repository. Create a new one? [Yn] y
>   Welcome to the darcs darcs repository!
>
>   This is the stable release branch.
>   **********************
>   etc.
>
> This is a conservative change as it only changes an existing error state 
> and it prompts you before doing anything different.

It's conservative but not complete. Look at how many options there are
for 'darcs get' now. This simple question ignores all the options that  
can be set. Maybe it's still a good thing, if 90% of the time, people   
want he default options.

Usage: darcs get [OPTION]... <REPOSITORY> [<DIRECTORY>]
Get a repository.

Options:
      --repo-name=DIRECTORY          path of output directory
      --partial                      get partial repository using checkpoint
      --complete                     get a complete copy of the repository
      --to-match=PATTERN             select changes up to a patch matching PATTERN
      --to-patch=REGEXP              select changes up to a patch matching REGEXP
      --tag=REGEXP                   select tag matching REGEXP
      --context=FILENAME             version specified by the context in FILENAME
  -v  --verbose                      give verbose output
  -q  --quiet                        suppress informational output
      --standard-verbosity           neither verbose nor quiet output
      --set-default                  set default repository [DEFAULT]
      --no-set-default               don't set default repository
      --set-scripts-executable       make scripts executable
      --dont-set-scripts-executable  don't make scripts executable
      --plain-pristine-tree          Use a plain pristine tree [DEFAULT]
      --no-pristine-tree             Use no pristine tree
      --disable                      disable this command
  -h  --help                         shows brief description of command and its arguments

###

If that was combined with darcs pull, it would start to look...not so
simple...

[ If get and pull were combined into one. ]

General options:
         -v  --verbose                      give verbose output
         -q  --quiet                        suppress informational output
             --standard-verbosity           neither verbose nor quiet output
             --set-default                  set default repository [DEFAULT]
             --no-set-default               don't set default repository
             --repodir=DIRECTORY            specify the repository directory in which to run
             --set-scripts-executable       make scripts executable
             --dont-set-scripts-executable  don't make scripts executable
             --disable                      disable this command
  -h         --help                         shows brief description of command and its arguments

Initialization options:
             --partial                      get partial repository using checkpoint
             --complete                     get a complete copy of the repository
             --to-match=PATTERN             select changes up to a patch matching PATTERN
             --to-patch=REGEXP              select changes up to a patch matching REGEXP
             --tag=REGEXP                   select tag matching REGEXP
             --context=FILENAME             version specified by the context in FILENAME
             --no-pristine-tree             Use no pristine tree

Pull Options:
             --matches=PATTERN              select patches matching PATTERN
  -p REGEXP  --patches=REGEXP               select patches matching REGEXP
  -t REGEXP  --tags=REGEXP                  select tags matching REGEXP
  -a         --all                          answer yes to all patches
             --interactive                  Prompt user interactively
             --external-merge=COMMAND       Use external tool to merge conflicts
             --compress                     create compressed patches
             --dont-compress                don't create compressed patches
             --test                         run the test script
             --no-test                      don't run the test script
             --dry-run                      don't actually take the action
  -s         --summary                      summarize changes
             --no-summary                   don't summarize changes
             --ignore-times                 don't trust the file modification times
             --no-deps                      don't automatically fulfill dependencies


    Mark

-- 
http://mark.stosberg.com/ 





More information about the darcs-users mailing list