summaryrefslogtreecommitdiff
path: root/contrib/subtree/git-subtree.sh
Commit message (Collapse)AuthorAgeFilesLines
* contrib/subtree: allow adding an annotated tagjd/subtreeJames Denholm2014-05-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | cmd_add_commit() is passed FETCH_HEAD by cmd_add_repository, which is then rev-parsed into an object name. However, if the user is fetching a tag rather than a branch HEAD, such as by executing: $ git subtree add -P oldGit https://github.com/git/git.git tags/v1.8.0 the object name refers to a tag and is never peeled, and the git commit-tree call (line 561) slaps us in the face because it doesn't peel tags to commits. Because peeling a committish doesn't do anything if it's already a commit, fix by peeling the object name before assigning it to $rev using peel_committish() from git:git-sh-setup.sh, a pre-existing dependency of git-subtree. Reported-by: Kevin Cagle <kcagle@micron.com> Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: James Denholm <nod.helm@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* subtree: initialize "prefix" variablejk/subtree-prefixJeff King2014-03-171-0/+1
| | | | | | | | | | | We parse the "--prefix" command-line option into the "$prefix" shell variable. However, if we do not see such an option, the variable is left with whatever value it had in the environment. We should initialize it to a known value, like we do for other variables. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* subtree: fix argument validation in add/pull/pushab/subtree-docAnthony Baire2014-01-131-6/+16
| | | | | | | | | | | | | | | | | | | When working with a remote repository add/pull/push do not accept a <refspec> as parameter but just a <ref>. They should accept any well-formatted ref name. This patch: - relaxes the check the <ref> argument in "git subtree add <repo>" (previous code would not accept a ref name that does not exist locally too, new code only ensures that the ref is well formatted) - add the same check in "git subtree pull/push" + check the number of parameters - update the doc to use <ref> instead of <refspec> Signed-off-by: Anthony Baire <Anthony.Baire@irisa.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'lf/echo-n-is-not-portable'Junio C Hamano2013-08-011-1/+1
|\ | | | | | | | | * lf/echo-n-is-not-portable: Avoid using `echo -n` anywhere
| * Avoid using `echo -n` anywherelf/echo-n-is-not-portableLukas Fleischer2013-07-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `echo -n` is non-portable. The POSIX specification says: Conforming applications that wish to do prompting without <newline> characters or that could possibly be expecting to echo a -n, should use the printf utility derived from the Ninth Edition system. Since all of the affected shell scripts use a POSIX shell shebang, replace `echo -n` invocations with printf. Signed-off-by: Lukas Fleischer <git@cryptocrack.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'dm/unbash-subtree'Junio C Hamano2013-06-051-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | It turns out that git-subtree script does not have to be run with bash. * dm/unbash-subtree: contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bash
| * | contrib/git-subtree: Use /bin/sh interpreter instead of /bin/bashDmitry Marakasov2013-05-211-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | Use /bin/sh interpreter instead of /bin/bash for contrib/git-subtree: it's required for systems which don't use bash by default (for example, FreeBSD), while there seem to be no bashisms in the script (confirmed by looking through the source and tesing subtree functionality with FreeBSD's /bin/sh) to require specifically bash and not the generic posix shell. Signed-off-by: Dmitry Marakasov <amdmi3@amdmi3.ru> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | contrib/subtree: don't delete remote branches if split failsJohn Keeping2013-05-011-1/+2
|/ | | | | | | | | | | | | When using "git subtree push" to split out a subtree and push it to a remote repository, we do not detect if the split command fails which causes the LHS of the refspec to be empty, deleting the remote branch. Fix this by pulling the result of the split command into a variable so that we can die if the command fails. Reported-by: Steffen Jaeckel <steffen.jaeckel@stzedn.de> Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib/subtree: fix synopsisDavid A. Greene2013-02-051-0/+6
| | | | | | | | | | Fix the documentation of add to show that a repository can be specified along with a commit. Suggested by Yann Dirson <dirson@bertin.fr>. Signed-off-by: David A. Greene <greened@obbligato.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib/subtree: better error handling for 'subtree add'David A. Greene2013-02-051-3/+9
| | | | | | | | Check refspecs for validity before passing them on to other commands. This lets us generate more helpful error messages. Signed-off-by: David A. Greene <greened@obbligato.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* contrib/subtree: use %B for split subject/bodyTechlive Zheng2013-02-051-1/+1
| | | | | | | | | Use %B to format the commit message and body to avoid an extra newline if a commit only has a subject line. Signed-off-by: Techlive Zheng <techlivezheng@gmail.com> Signed-off-by: David A. Greene <greened@obbligato.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Add 'contrib/subtree/' from commit 'd3a04e06c77d57978bb5230361c64946232cc346'David A. Greene2012-04-091-0/+712
git-subtree-dir: contrib/subtree git-subtree-mainline: e8dde3e5f9ddb7cf95a6ff3cea6cf07c3a2db80d git-subtree-split: d3a04e06c77d57978bb5230361c64946232cc346