Commit graph

13 commits

Author SHA1 Message Date
Junio C Hamano 01385e2758 Comment fixes.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-16 23:32:47 -08:00
Fredrik Kuivinen d025524d9d Usage message clean-up, take #2
There were some problems with the usage message clean-up patch
series. I hadn't realised that subdirectory aware scripts can't source
git-sh-setup. I propose that we change this and let the scripts which
are subdirectory aware set a variable, SUBDIRECTORY_OK, before they
source git-sh-setup.

The scripts will also set USAGE and possibly LONG_USAGE before they
source git-sh-setup. If LONG_USAGE isn't set it defaults to USAGE.

If we go this way it's easy to catch --help in git-sh-setup, print the
(long) usage message to stdout and exit cleanly. git-sh-setup can
define a 'usage' shell function which can be called by the scripts to
print the short usage string to stderr and exit non-cleanly. It will
also be easy to change $0 to basename $0 or something else, if would
like to do that sometime in the future.

What follows is a patch to convert a couple of the commands to this
style. If it's ok with everyone to do it this way I will convert the
rest of the scripts too.

[jc: thrown in to proposed updates queue for comments.]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-12-14 02:53:43 -08:00
Junio C Hamano d165fa14f0 define die() for scripts that use it.
As a fallout from not using git-sh-setup in scripts that can
operate from a subdirectory, we lost definition of die() from
them.  It might make sense to do some cleanup to consolidate
them back again, but this should suffice for now.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-28 23:13:03 -08:00
Junio C Hamano 9cc2527cd2 branch: make it operable from a subdirectory.
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-28 23:13:03 -08:00
Junio C Hamano ae2b0f1518 git-sh-setup: die if outside git repository.
Now all the users of this script detect its exit status and die,
complaining that it is outside git repository.  So move the code
that dies from all callers to git-sh-setup script.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-25 13:49:17 -08:00
Junio C Hamano eb777612f0 git-branch: -f to forcibly reset branch head.
A new usage, 'git-branch -f branch [start]', resets the branch head at
start (or current head).  Should be considered a dangerous operation,
but if you are like me to keep rewinding branches it is handy.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-18 15:53:12 -08:00
Alex Riesen 08db81a9f1 allow git-update-ref create refs with slashes in names
Make git-update-ref create references with slashes in them. git-branch
and git-checkout already support such reference names.

git-branch can use git-update-ref to create the references in a more
formal manner now.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-14 17:15:32 -08:00
Junio C Hamano 13d1cc3604 Do not fail on hierarchical branch names.
"git-checkout -b frotz/nitfol master" failed to create
$GIT_DIR/refs/heads/frotz/nitfol but went ahead and updated
$GIT_DIR/HEAD to point at it, resulting in a corrupt repository.
Exit when we cannot create the new branch with an error status.

While we are at it, there is no reason to forbid subdirectories
in refs/heads, so make sure we handle that correctly.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-11-02 16:50:58 -08:00
Junio C Hamano 03feddd6e8 git-check-ref-format: reject funny ref names.
Update check_ref_format() function to reject ref names that:

 * has a path component that begins with a ".", or
 * has a double dots "..", or
 * has ASCII control character, "~", "^", ":" or SP, anywhere, or
 * ends with a "/".

Use it in 'git-checkout -b', 'git-branch', and 'git-tag' to make sure
that newly created refs are well-formed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-15 11:23:39 -07:00
Junio C Hamano 8098a178b2 Add git-symbolic-ref
This adds the counterpart of git-update-ref that lets you read
and create "symbolic refs".  By default it uses a symbolic link
to represent ".git/HEAD -> refs/heads/master", but it can be compiled
to use the textfile symbolic ref.

The places that did 'readlink .git/HEAD' and 'ln -s refs/heads/blah
.git/HEAD' have been converted to use new git-symbolic-ref command, so
that they can deal with either implementation.

Signed-off-by: Junio C Hamano <junio@twinsun.com>
2005-10-01 23:19:33 -07:00
Junio C Hamano ba65af9c1f git-branch -d <branch>: delete unused branch.
The new flag '-d' lets you delete a branch.  For safety, it does not
lets you delete the branch you are currently on, nor a branch that
has been fully merged into your current branch.

The credit for the safety check idea goes to Daniel Barkalow.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-15 12:46:30 -07:00
Amos Waterland a3b427b9fa [PATCH] Do not create bogus branch from flag to git branch
If you run `git branch --help', you will unexpectedly have created a new
branch named "--help".  This simple patch adds logic and a usage
statement to catch this and similar problems, and adds a testcase for it.

Signed-off-by: Amos Waterland <apw@rossby.metr.ou.edu>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07 22:08:30 -07:00
Junio C Hamano 215a7ad1ef Big tool rename.
As promised, this is the "big tool rename" patch.  The primary differences
since 0.99.6 are:

  (1) git-*-script are no more.  The commands installed do not
      have any such suffix so users do not have to remember if
      something is implemented as a shell script or not.

  (2) Many command names with 'cache' in them are renamed with
      'index' if that is what they mean.

There are backward compatibility symblic links so that you and
Porcelains can keep using the old names, but the backward
compatibility support  is expected to be removed in the near
future.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-09-07 17:45:20 -07:00
Renamed from git-branch-script (Browse further)