summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make pack creation always fsync() the resultLinus Torvalds2008-05-318-6/+24
| | | | | | | | | | This means that we can depend on packs always being stable on disk, simplifying a lot of the object serialization worries. And unlike loose objects, serializing pack creation IO isn't going to be a performance killer. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* "git checkout -- paths..." should error out when paths cannot be writtenJunio C Hamano2008-05-281-2/+5
| | | | | | | | | When "git checkout -- paths..." cannot update work tree for whatever reason, checkout_entry() correctly issued an error message for the path to the end user, but the command ignored the error, causing the entire command to succeed. This fixes it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Documentation: git-cherry uses git-patch-idJunio C Hamano2008-05-281-0/+6
| | | | | | | Geoffrey Irving noticed that git-cherry talks about comparing commits without hinting how they are compared. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Manual subsection to refer to other pages is SEE ALSOJunio C Hamano2008-05-2818-19/+19
| | | | | | Consistently say so in all caps as it is customary to do so. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* bisect: use "$GIT_DIR/BISECT_START" to check if we are bisectingChristian Couder2008-05-281-16/+13
| | | | | | | | | | | | | | | | | | | It seems simpler and safer to use the BISECT_START file everywhere to decide if we are bisecting or not, instead of using it in some places and BISECT_NAMES in other places. In commit 6459c7c6786aa9bda0c7a095c9db66c36da0e5f0 (Nov 18 2007, Bisect: use "$GIT_DIR/BISECT_NAMES" to check if we are bisecting.), we decided to use BISECT_NAMES but code changed a lot and we now have to check BISECT_START first in the "bisect_start" function anyway. This patch also makes things a little bit safer by creating the BISECT_START file first and deleting it last, and also by adding checks in "bisect_clean_state". Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* builtin-fetch.c (store_updated_refs): Honor update_local_ref() return valueDmitry V. Levin2008-05-282-3/+40
| | | | | | | | | | | Sync with builtin-fetch--tool.c where append_fetch_head() honors update_local_ref() return value. This fixes non fast forward fetch exit status, http://bugzilla.altlinux.org/show_bug.cgi?id=15037 Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* fix sha1_pack_index_name()Junio C Hamano2008-05-281-4/+5
| | | | | | | | | | | An earlier commit 633f43e (Remove redundant code, eliminate one static variable, 2008-05-24) had a thinko (perhaps an eyeno) that broke sha1_pack_index_name() function. One symptom of this was that the http walker is now completely broken. This should fix it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Git::cat_blob: allow using an empty blob to fix git-svn breakageJunio C Hamano2008-05-272-4/+4
| | | | | | | | | | | | | Recent "git-svn optimization" series introduced Git::cat_blob() subroutine whose interface was broken in that it returned the size of the blob but signalled an error by returning 0. You can never use an empty blob with such an interface. This fixes the interface to return a negative value to signal an error. Reported by Björn Steinbrink. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t5100: Avoid filename "nul"Junio C Hamano2008-05-272-2/+2
| | | | | | | | | There are broken filesystems that cannot have a file whose name is "nul" anywhere on it. Rename the test file to make ourselves more portable. Noticed by Mark Levedahl. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge 1.5.5.3 inJunio C Hamano2008-05-277-18/+24
|\
| * GIT 1.5.5.3v1.5.5.3Junio C Hamano2008-05-274-3/+17
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * commit --interactive: properly update the index before commitingGerrit Pape2008-05-271-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When adding files through git commit --interactive, and 'quit' afterwards, the message in the editor of the commit message indicates that many (maybe all) files are deleted from the tree. Dismissing that and running git commit afterwards does the right thing. This commit fixes git commit --interactive to properly update the index before commiting. Reported by Jiří Paleček through http://bugs.debian.org/480429 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * gitweb: only display "next" links in logs if there is a next pageLea Wiemann2008-05-271-4/+4
| | | | | | | | | | | | | | | | | | There was a bug in the implementation of the "next" links in format_paging_nav (for log and shortlog), which caused the next links to always be displayed, even if there is no next page. This fixes it. Signed-off-by: Lea Wiemann <LeWiemann@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Revert "filter-branch: subdirectory filter needs --full-history"Johannes Sixt2008-05-272-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cfabd6eee1745cfec58cfcb794ce8847e43b888a. I had implemented it without understanding what --full-history does. Consider this history: C--M--N / / / A--B / \ / D-/ where B and C modify a path, X, in the same way so that the result is identical, and D does not modify it at all. With the path limiter X and without --full-history this is simplified to A--B i.e. only one of the paths via B or C is chosen. I had assumed that --full-history would keep both paths like this C--M / / A--B removing the path via D; but in fact it keeps the entire history. Currently, git does not have the capability to simplify to this intermediary case. However, the other extreme to keep the entire history is not wanted either in usual cases. I think we can expect that histories like the above are rare, and in the usual cases we want a simplified history. So let's remove --full-history again. (Concerning t7003, subsequent tests depend on what the test case sets up, so we can't just back out the entire test case.) Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Documentation/git-bundle.txt: fix synopsisGerrit Pape2008-05-271-1/+1
| | | | | | | | | | | | | | | | The <git-rev-list args> are mandatory to git bundle create, not optional. The usage output of git bundle is already right on this. Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | clone: make sure we support the transport typeJeff King2008-05-271-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If we use an unsupported transport (e.g., http when curl support is not compiled in), transport_get reports an error to the user, but we still get a transport object. We need to manually check and abort the clone process at that point, or we end up with a segfault. Noticed by Thomas Rast. Signed-off-by: Jeff King <peff@peff.net> Acked-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | t5700-clone-reference: Quote $UJohannes Sixt2008-05-271-3/+3
| | | | | | | | | | | | | | The new "trash directory" bites again. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Add some tests for git update-ref -dKarl Hasselström2008-05-271-0/+16
| | | | | | | | | | Signed-off-by: Karl Hasselström <kha@treskal.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Merge branch 'jc/diff-no-no-index'Junio C Hamano2008-05-2660-738/+740
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | * jc/diff-no-no-index: git diff --no-index: default to page like other diff frontends git-diff: allow --no-index semantics a bit more "git diff": do not ignore index without --no-index diff-files: do not play --no-index games tests: do not use implicit "git diff --no-index"
| * | git diff --no-index: default to page like other diff frontendsJunio C Hamano2008-05-261-0/+7
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | git-diff: allow --no-index semantics a bit moreJunio C Hamano2008-05-261-7/+32
| | | | | | | | | | | | | | | | | | | | | | | | Even when inside a git work tree, if two paths are given and at least one is clearly outside the work tree, it cannot be a request to diff a tracked path anyway; allow such an invocation to use --no-index semantics. Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | "git diff": do not ignore index without --no-indexJunio C Hamano2008-05-248-338/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if "foo" and/or "bar" does not exist in index, "git diff foo bar" should not change behaviour drastically from "git diff foo bar baz" or "git diff foo". A feature that "sometimes works and is handy" is an unreliable cute hack. "git diff foo bar" outside a git repository continues to work as a more colourful alternative to "diff -u" as before. Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | diff-files: do not play --no-index gamesJunio C Hamano2008-05-243-13/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Being able to say "git diff A B" outside a git repository and getting a colourful version of "diff -u A B" may be nice, but such a cute hack should not give bogus results to scripts that want to give two paths, either or both of which happen to have been removed from the work tree, to "git diff-files". Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | tests: do not use implicit "git diff --no-index"Junio C Hamano2008-05-2450-387/+387
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a general principle, we should not use "git diff" to validate the results of what git command that is being tested has done. We would not know if we are testing the command in question, or locating a bug in the cute hack of "git diff --no-index". Rather use test_cmp for that purpose. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Merge branch 'maint'Junio C Hamano2008-05-262-12/+14
|\ \ \ | | |/ | |/| | | | | | | | | | * maint: Documentation: fix graph in git-rev-parse.txt show-branch --current: do not barf on detached HEAD
| * | Merge branch 'gp/bisect-fix' into maintJunio C Hamano2008-05-263-10/+55
| |\ \ | | | | | | | | | | | | | | | | | | | | * gp/bisect-fix: bisect: print an error message when "git rev-list --bisect-vars" fails git-bisect.sh: don't accidentally override existing branch "bisect"
| * | | Documentation: fix graph in git-rev-parse.txtMichele Ballabio2008-05-261-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Preformatted html and man pages show a mangled graph, caused by a backslash. Commit f1ec6b22a8c1ab1cca0f1875f85aea5d2434e5a6 fixed this same issue, but it seems that new versions of the Asciidoc toolchain changed their behaviour. Signed-off-by: Michele Ballabio <barra_cuda@katamail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | show-branch --current: do not barf on detached HEADJunio C Hamano2008-05-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code assumed that there always is the current branch, but the result from resolve_ref() on detached HEAD does not even start with "refs/heads/". Originally noticed and fixed by Stephan Beyer. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Merge git://repo.or.cz/git-guiJunio C Hamano2008-05-262-30/+48
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://repo.or.cz/git-gui: git-gui: Vertically align textboxes with labels git-gui: Handle workdir detection when CYGWIN=nowinsymlinks git-gui: Add a --trace command line option
| * | | | git-gui: Vertically align textboxes with labelsgitgui-0.10.2Twiinz2008-05-261-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In git-gui after clicking either on 'Create New Repository' or 'Open Existing Repository' the form elements aren't centered like they are pretty much everywhere else in the app. At least when ran on a mac, haven't checked on other platforms. Using grid instead of pack seems to fix this. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * | | | git-gui: Handle workdir detection when CYGWIN=nowinsymlinksShawn O. Pearce2008-05-221-16/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user has put nowinsymlinks into their CYGWIN environment variable any symlinks created by a Cygwin process (e.g. ln -s) will not have the ".lnk" suffix. In this case workdir is still a workdir, but our detection of looking for "info.lnk" fails as the symlink is actually a normal file called "info". Instead we just always use Cygwin's test executable to see if info/exclude is a file. If it is, we assume from there on it can be read by git-ls-files --others and is thus safe to use on the command line. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
| * | | | git-gui: Add a --trace command line optionShawn O. Pearce2008-05-201-8/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Often new Git users want to know what commands git-gui uses to make changes, so they can learn the command line interface by mimicking what git-gui does in response to GUI actions. Showing the direct commands being executed is easy enough to implement but this is of little value to end-users because git-gui frequently directly calls plumbing, not porcelain. Since the code is already written and tested, its fairly harmless to include. It may not help a new end-user, but it can help with debugging git-gui or reverse-engineering its logic to further make changes to it or implement another GUI for Git. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | | | | Makefile: fix dependency on wt-status.hJunio C Hamano2008-05-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noticed by Hannes, reported by Dscho. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | hg-to-git: add --verbose optionJohannes Schindelin2008-05-261-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds an option to make hg-to-git quiet by default. Note: it only suppresses those messages that would be printed when everything was up-to-date. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Acked-by: Stelian Pop <stelian@popies.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | Documentation/git.txt: link to 1.5.5.2 documentation.Junio C Hamano2008-05-251-1/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | Merge branch 'maint'Junio C Hamano2008-05-252-5/+28
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: builtin-fast-export: Only output a single parent per line Release Notes for 1.5.5.2 Conflicts: RelNotes
| * | | | Merge branch 'jk/maint-send-email-compose' into maintJunio C Hamano2008-05-252-2/+100
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * jk/maint-send-email-compose: send-email: rfc2047-quote subject lines with non-ascii characters send-email: specify content-type of --compose body
| * \ \ \ \ Merge branch 'hb/maint-send-email-quote-recipients' into maintJunio C Hamano2008-05-251-1/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * hb/maint-send-email-quote-recipients: Fix recipient santitization
| * \ \ \ \ \ Merge branch 'maint-1.5.4' into maintJunio C Hamano2008-05-251-5/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint-1.5.4: builtin-fast-export: Only output a single parent per line
| | * | | | | | builtin-fast-export: Only output a single parent per linePieter de Bie2008-05-251-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the git-fast-import man-page, you can only put a single committish per merge: line, like this: merge :10 merge :11 However, git-fast-export puts all parents on a single line, like this: merge :10 :11 This changes fast-export to output a single parent per line. Otherwise neither git-fast-import nor bzr-fast-import can read its output. [jc: fix-up to remove excess LF in the output that makes fast-import barf] Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | | | | | Release Notes for 1.5.5.2Junio C Hamano2008-05-252-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | Ignore no-op changes in paranoid update hookShawn O. Pearce2008-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the hook gets invoked with identical old and new ids there is no change taking place. We probably should not have been called, but instead of failing silently allow the no-op. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | Don't load missing ACL files in paranoid update hookShawn O. Pearce2008-05-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a user or group ACL file does not exist in the current tip revision of the acl repository we will get an error from cat-file when we ask for that blob as it cannot be resolved. A quick look at the history by rev-list can tell us if there is a path there or not. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | Don't diff empty tree on branch creation in paranoid update hookShawn O. Pearce2008-05-251-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Listing all files in a branch during branch creation is silly; the user's file-level ACLs probably don't mean anything at this point. We now treat the base case of 0{40} as an empty diff, as this happens only when the user is creating the branch and there are file level ACLs that diff against the old value of the branch. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | log --pretty: do not accept bogus "--prettyshort"Junio C Hamano2008-05-252-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... nor bogus "format.pretty = '=short'". Both are syntax errors. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | log --graph: do not accept log --graphbogusJunio C Hamano2008-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An obvious fix to the argument parser. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | Update draft release notes for 1.5.6Junio C Hamano2008-05-251-1/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | Merge branch 'js/config-cb'v1.5.6-rc0Junio C Hamano2008-05-2575-176/+179
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * js/config-cb: Provide git_config with a callback-data parameter Conflicts: builtin-add.c builtin-cat-file.c
| * | | | | | | | Provide git_config with a callback-data parameterJohannes Schindelin2008-05-1474-173/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git_config() only had a function parameter, but no callback data parameter. This assumes that all callback functions only modify global variables. With this patch, every callback gets a void * parameter, and it is hoped that this will help the libification effort. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | | | | Merge branch 'as/graph'Junio C Hamano2008-05-256-62/+191
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * as/graph: get_revision(): honor the topo_order flag for boundary commits Fix output of "git log --graph --boundary" log --graph --left-right: show left/right information in place of '*' graph API: don't print branch lines for uninteresting merge parents graph API: fix graph mis-alignment after uninteresting commits