aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* octopus: allow manual resolve on the last round.Junio C Hamano2006-01-14
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* git-push: avoid falling back on pushing "matching" refs.Junio C Hamano2006-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The underlying "git send-pack remote.host:path" pushes all the matching refs that both local and remote have, and "git push" blindly inherits this property. Which probably was a mistake. A typical cloned repository (e.g. a subsystem repository cloned from Linus repository) has at least two branches, "master" to keep the subsystem and "origin" that records tip of Linus "master" when the repository was cloned. If this is the public repository for the subsystem, then subsystem developers would clone it, and then cloned ones have "master" and "origin". When developers use this public subsystem repository as a shared repository, pushing into it via "git push subsys:/path/name" would try to push the matching refs, "master" and "origin", from the developers' repositories. The "origin" in the public shared repository does not have much relevance, yet pushing into "origin" would cause "not a fast forward" checks to be triggered. Arguably "git push subsys:/path/name master" would work it around, but having them to say it explicitly to avoid pushing into "origin" as well is bad. This commit requires you to give at least one refspec to git-push. You could "give" by either: (1) Listing the refspec(s) explicitly on the command line. E.g. "git push subsys:/path/name master". (2) Using --all or --tags on the command line. E.g. "git push --tags subsys:/path/name". (3) Using a $GIT_DIR/remotes shorthand with 'Push: refspec' line in it. Unlike pull that can happen pretty much promiscuously, people will push into the same set of a limited number of remote repositories repeatedly over the life of the project, so it is reasonable to assume they would want to keep a $GIT_DIR/remotes/ entry for those repositories even only to save typing the URL, so keeping the default 'Push: refspec' line in such is a sensible thing to do. It was suggested to further fall back on pushing the current branch, but this commit does not implement it. If developers adopt topic branch workflow, pushing to public while on a topic branch by mistake would expose the topic branch to the public repository. Not falling back to the current branch prevents that mistake from happening. Signed-off-by: Junio C Hamano <junkio@cox.net>
* checkout: merge local modifications while switching branches.Junio C Hamano2006-01-13
| | | | | | | | | | | | | | | | | | | * Instead of going interactive, introduce a command line switch '-m' to allow merging changes when normal two-way merge by read-tree prevents branch switching. * Leave the unmerged stages intact if automerge fails, but reset index entries of cleanly merged paths to that of the new branch, so that "git diff" (not "git diff HEAD") would show the local modifications. * Swap the order of trees in read-tree three-way merge used in the fallback, so that `git diff` to show the conflicts become more natural. * Describe the new option and give more examples in the documentation. Signed-off-by: Junio C Hamano <junkio@cox.net>
* checkout: automerge local changes while switching branches.Junio C Hamano2006-01-13
| | | | | | | | | | | When switching branches, if the working tree has a local modification at paths that are different between current and new branches, we refused the operation saying "cannot merge." This attempts to do an automerge for such paths. This is still experimental. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge fixes up to GIT 1.1.2Junio C Hamano2006-01-13
|\
| *-. GIT 1.1.2v1.1.2Junio C Hamano2006-01-13
| |\ \
| | | * GIT 1.0.10v1.0.10Junio C Hamano2006-01-13
| | | |\
| | | | * Documentation: git-reset - interrupted workflow.Junio C Hamano2006-01-13
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| | | | * Documentation: git-commit -aJunio C Hamano2006-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A bit more elaboration on what "update all paths" means. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | | | * Documentation: clarify fetch parameter descriptions.J. Bruce Fields2006-01-12
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| | | | * show-branch: handle [] globs as well.Junio C Hamano2006-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Earlier only '?' and '*' signalled the command that what the user has given is a glob pattern. This prevented us to say: $ git show-branch 'v0.99.[0-3]' Now we notice '[' as well, so the above would work. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | | | * name-rev: do not omit leading components of ref name.Junio C Hamano2006-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a repository with mainto/1.0 (to keep maintaining the 1.0.X series) and fixo/1.0 (to keep fixes that apply to both 1.0.X series and upwards) branches, "git-name-rev mainto/1.0" answered just "1.0" making things ambiguous. Show refnames unambiguously like show-branch does. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | | | * update-index: work with c-quoted nameJunio C Hamano2006-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | update-index --stdin did not work with c-style quoted names even though update-index --index-info did. This fixes the inconsistency. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | | * | GIT 1.0.9v1.0.9Junio C Hamano2006-01-10
| | | |\ \ | | | | |/
| | * | | describe: do not silently ignore indescribable commitsJunio C Hamano2006-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We silently ignored indescribable commits without complaining. Complain and die instead. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * | | Add git-describe to .gitignore.Tom Prince2006-01-11
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | Fix the installation location.Junio C Hamano2006-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The earlier change to separate $(gitexecdir) from $(bindir) had the installation location of the git wrapper and the rest of the commands the wrong way (right now, both of them point at the same location so there is no real harm). Also gitk needs to be installed in $(bindir). Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | Exec git programs without using PATH.Michal Ostrowski2006-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The git suite may not be in PATH (and thus programs such as git-send-pack could not exec git-rev-list). Thus there is a need for logic that will locate these programs. Modifying PATH is not desirable as it result in behavior differing from the user's intentions, as we may end up prepending "/usr/bin" to PATH. - git C programs will use exec*_git_cmd() APIs to exec sub-commands. - exec*_git_cmd() will execute a git program by searching for it in the following directories: 1. --exec-path (as used by "git") 2. The GIT_EXEC_PATH environment variable. 3. $(gitexecdir) as set in Makefile (default value $(bindir)). - git wrapper will modify PATH as before to enable shell scripts to invoke "git-foo" commands. Ideally, shell scripts should use the git wrapper to become independent of PATH, and then modifying PATH will not be necessary. [jc: with minor updates after a brief review.] Signed-off-by: Michal Ostrowski <mostrows@watson.ibm.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | octopus: allow criss-cross and clarify the message when it rejectsJunio C Hamano2006-01-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We rejected multi-base merge situations even though we used the same underlying multi-base git-read-tree as the resolve strategy uses. This was unneeded and did not add much to ensure the merge to be truly trivial, so remove this restriction and be more similar to what resolve does. Also when the merge did not trivially resolve, we rejected without stating that octopus strategy does not handle the situation. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | Makefile: add 'strip' targetJunio C Hamano2006-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not invoked by any other target (most notably, "make install" does not), but is provided as a convenience for people who are building from the source. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | git-describe: default to HEADJunio C Hamano2006-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is based on the patch by Andreas Ericsson, but done slightly differently, preferring to have separate loops -- one for options and then arguments. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | Add --keep option to keep downloaded packs to git-fetch.Tom Prince2006-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Tom Prince <tom.prince@ualberta.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | | Merge fixes up to GIT 1.1.1Junio C Hamano2006-01-10
|\ \ \ \ \ | |/ / / /
| * | | | GIT 1.1.1v1.1.1Junio C Hamano2006-01-10
| |\ \ \ \ | | |/ / / | |/| | / | | | |/ | | |/|
| | * | glossary: explain "master" and "origin"Johannes Schindelin2006-01-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you are a long time git user/developer, you forget that to a new git user, these words have not the same meaning as to you. [jc: with updates from J. Bruce Fields.] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | | show-branch: take default arguments from configuration file.Junio C Hamano2006-01-09
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This lets showbranch.default multivalued configuration item to be used as the default set of parameters to git-show-branch when none is given on the command line. I keep many topic branches (e.g. zzz/pack, net/misc) and branches used only as a reference under subdirectories (e.g. hold/{html,man,todo} track the same from git.git, but clutters the show-branch output when shown along with the main development; ko/master tracks what I have pushed out already and refetched from the kernel.org server), and often run: $ git show-branch ko/master heads/* to view only the ko/master head and branches I keep immediately under $GIT_DIR/refs/heads. With this change, I can have this in my $GIT_DIR/config file: [showbranch] default = ko/master default = heads/* and say $ git show-branch Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | GIT-VERSION-GEN: detect dirty tree and mark the version accordingly.Junio C Hamano2006-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we are building from a working tree with local modifications, mark the version accordingly. Deliberately uses '-' to prevent RPM from being built from such a tree. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | For release tarballs, include the proper versionH. Peter Anvin2006-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | When producing a release tarball, include a "version" file, which GIT-VERSION-GEN can then use to do the right thing when building from a tarball. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | GIT 1.1.0v1.1.0Junio C Hamano2006-01-08
|\ \ \ | | |/ | |/|
| * | GIT 1.0.8v1.0.8Junio C Hamano2006-01-07
| |\ \ | | |/
| | * mailsplit: allow empty input from stdinJunio C Hamano2006-01-07
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * revert/cherry-pick: handle single quote in author name.Junio C Hamano2006-01-07
| | | | | | | | | | | | | | | | | | | | | The same fix as aa66c7ec77d474b737da607d6cb2d07f56628def is needed here. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * Fix git-format-patch usage string wrt output modes.Yann Dirson2006-01-07
| | | | | | | | | | | | | | | | | | | | | | | | --stdout was not mentionned, and the description for the case where -o was not given was thus incomplete. Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * Fix typo in debug stanza of t2001Yann Dirson2006-01-07
| | | | | | | | | | | | | | | Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * tar-tree: finish honoring extractor's umask in git-tar-tree.Junio C Hamano2006-01-07
| | | | | | | | | | | | | | | | | | | | | | | | Earlier commit 38ec15a973a1f075f0d94d130b0ef279562921cd forgot to apply the same principle of not forcing go-w to the base directory when specified. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * [PATCH] Compilation: zero-length array declaration.Junio C Hamano2006-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ISO C99 (and GCC 3.x or later) lets you write a flexible array at the end of a structure, like this: struct frotz { int xyzzy; char nitfol[]; /* more */ }; GCC 2.95 and 2.96 let you to do this with "char nitfol[0]"; unfortunately this is not allowed by ISO C90. This declares such construct like this: struct frotz { int xyzzy; char nitfol[FLEX_ARRAY]; /* more */ }; and git-compat-util.h defines FLEX_ARRAY to 0 for gcc 2.95 and empty for others. If you are using a C90 C compiler, you should be able to override this with CFLAGS=-DFLEX_ARRAY=1 from the command line of "make". Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * prune: do not show error from pack-redundant when no packs are found.Junio C Hamano2006-01-07
| | | | | | | | | | | | | | | | | | | | | | | | When there is no pack yet, git-prune leaked an error message from "git-pack-redundant --all" which complained that there is no pack. Squelch the annoying message. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * Retire debian/ directory.Junio C Hamano2006-01-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The official maintainer is keeping up-to-date quite well, and now the older Debian is supported with backports.org, there is no reason for me to keep debian/ directory around here. I have not been building and publishing debs since 1.0.4 anyway. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * unpack-objects: default to quiet if stderr is not a tty.Junio C Hamano2006-01-06
| | | | | | | | | | | | | | | | | | | | | This would help cron/at jobs that run send-pack to mirror repositories. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * Substitute "/" with $opt_s in tag names as well as branch namesJoe English2006-01-06
| | | | | | | | | | | | | | | | | | | | | In 'git cvsimport' changes "/" to "-" (or $opt_s) in branch names, but not in tag names, which is inconsistent. Signed-off-by: Junio C Hamano <junkio@cox.net>
| | * Teach cvsexportcommit to add new filesYann Dirson2006-01-06
| | | | | | | | | | | | | | | | | | | | | | | | "cvs add" support was already there, but the "unknown" status returned when querying a file not yet known to cvs caused the script to abort prematurely. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Add a test for rebase when a change was picked upstreamYann Dirson2006-01-08
| | | | | | | | | | | | | | | | | | | | | This test exercises the standard feature that makes rebase useful. Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Add a minimal test for git-cherryYann Dirson2006-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test checks that git-cherry finds the expected number of patches in two simple cases, and then tests the new limit arguments. [jc: collapsed two patches into one and added sleep to make sure the two commits would get different timestamps] Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Add an optional limit to git-cherryYann Dirson2006-01-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows to use another commit than the merge base as a limit for scanning patches. [jc: part about t3500 test omitted.] Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | git-daemon --base-pathPetr Baudis2006-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tommi Virtanen expressed a wish on #git to be able to use short and elegant git URLs by making git-daemon 'root' in a given directory. This patch implements this, causing git-daemon to interpret all paths relative to the given base path if any is given. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | describe: allow more than one revs to be named.Junio C Hamano2006-01-07
| | | | | | | | | | | | | | | | | | | | | | | | The main loop was prepared to take more than one revs, but the actual naming logic wad not (it used pop_most_recent_commit while forgetting that the commit marks stay after it's done). Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | ls-files --others --directory: testJunio C Hamano2006-01-07
| | | | | | | | | | | | | | | | | | Add a test to run with --directory option. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | git-status: use ls-files --others --directory for untracked list.Junio C Hamano2006-01-07
| | | | | | | | | | | | | | | | | | | | | This shortens "Untracked files" list by using --directory option when running ls-files --others. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | ls-files --others --directory: give trailing slashJunio C Hamano2006-01-07
| | | | | | | | | | | | | | | | | | | | | | | | This adds a trailing slash to directory names in the output when "--others --directory" option shows only untracked directories and not their contents, to make them stand out. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | ls-files --others --directory: fix a bug with index entry orderingJunio C Hamano2006-01-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When both howto-index.sh and howto/make-dist.txt exist under Documentation/ directory, dir_exists() mistakenly checked it without the trailing slash to see if there was something under Documentation/howto directory, and did not realize there was, because '-' sorts earlier than '/' and cache_name_pos() finds howto-index.sh, which is not under howto/ directory. This caused --others --directory to show it which was incorrect. Check the directory name with the trailing slash, because having an entry that has such as a prefix is what we are looking for. Signed-off-by: Junio C Hamano <junkio@cox.net>