summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-11-14Git 2.2.0-rc2v2.2.0-rc2Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-12Update draft release notes to 2.2Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-12Sync with 'maint'Junio C Hamano
2014-11-12Merge branch 'nd/gitignore-trailing-whitespace' into maintJunio C Hamano
* nd/gitignore-trailing-whitespace: gitignore.txt: fix spelling of "backslash"
2014-11-12Merge branch 'jk/fetch-reflog-df-conflict'Junio C Hamano
Fix-up a test for portability. * jk/fetch-reflog-df-conflict: t1410: fix breakage on case-insensitive filesystems
2014-11-11Sync with maintJunio C Hamano
* maint:
2014-11-11Merge branch 'rs/clean-menu-item-defn' into maintJunio C Hamano
* rs/clean-menu-item-defn: clean: use f(void) instead of f() to declare a pointer to a function without arguments
2014-11-10run-command: use void to declare that functions take no parametersRené Scharfe
Explicitly declare that git_atexit_dispatch() and git_atexit_clear() take no parameters instead of leaving their parameter list empty and thus unspecified. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-10Merge branch 'master' of git://github.com/git-l10n/git-poJunio C Hamano
* 'master' of git://github.com/git-l10n/git-po: l10n: Updated Bulgarian translation of git (2296t,0f,0u) l10n: zh_CN: translations for git v2.2.0-rc0 l10n: sv.po: Update Swedish translation (2296t0f0u) l10n: fr.po (2296t) update for version 2.2.0 l10n: vi.po: Update new message strings l10n: git.pot: v2.2.0 round 1 (62 new, 23 removed)
2014-11-10Sync with maintJunio C Hamano
* maint: Documentation/config.txt: fix minor typo config.txt: fix typo
2014-11-10Merge branch 'js/diff-highlight-avoid-sigpipe'Junio C Hamano
* js/diff-highlight-avoid-sigpipe: diff-highlight: exit when a pipe is broken
2014-11-10Documentation/config.txt: fix minor typoThomas Quinot
Add a missing article at the beginning of a sentence, and rephrase slightly. Signed-off-by: Thomas Quinot <thomas@quinot.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-10config.txt: fix typoNicolas Dermine
Signed-off-by: Nicolas Dermine <nicolas.dermine@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-10trailer: use CHILD_PROCESS_INIT in apply_command()René Scharfe
Initialize the struct child_process variable cp at declaration time. This is shorter, saves a function call and prevents using the variable before initialization by mistake. Suggested-by: Jeff King <peff@peff.net> Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-10t1410: fix breakage on case-insensitive filesystemsJeff King
Two tests recently added to t1410 create branches "a" and "a/b" to test d/f conflicts on reflogs. Earlier, unrelated tests in that script create the path "A/B" in the working tree. There's no conflict on a case-sensitive filesystem, but on a case-insensitive one, "git log" will complain that "a/b" is both a revision and a working tree path. We could fix this by using a "--" to disambiguate, but we are probably better off using names that are less confusing to make it more clear that they are unrelated to the working tree files. This patch turns "a/b" into "one/two". Reported-by: Michael Blume <blume.mike@gmail.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-07Git 2.2.0-rc1v2.2.0-rc1Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-06Merge branch 'maint'Junio C Hamano
* maint: docs/credential-store: s/--store/--file/
2014-11-06Merge branch 'nd/gitignore-trailing-whitespace'Junio C Hamano
Documentation update. * nd/gitignore-trailing-whitespace: gitignore.txt: fix spelling of "backslash"
2014-11-06Merge branch 'tm/line-log-first-parent'Junio C Hamano
"git log --first-parent -L..." used to crash. * tm/line-log-first-parent: line-log: fix crash when --first-parent is used
2014-11-06Merge branch 'jk/fetch-reflog-df-conflict'Junio C Hamano
Corner-case bugfixes for "git fetch" around reflog handling. * jk/fetch-reflog-df-conflict: ignore stale directories when checking reflog existence fetch: load all default config at startup
2014-11-06Merge branch 'rs/use-child-process-init-more'Junio C Hamano
* rs/use-child-process-init-more: bundle: split out ref writing from bundle_create bundle: split out a helper function to compute and write prerequisites bundle: split out a helper function to create pack data use child_process_init() to initialize struct child_process variables
2014-11-06Merge branch 'jk/cache-tree-protect-from-broken-libgit2'Junio C Hamano
The code to use cache-tree trusted the on-disk data too much and fell into an infinite loop. * jk/cache-tree-protect-from-broken-libgit2: cache-tree: avoid infinite loop on zero-entry tree
2014-11-06docs/credential-store: s/--store/--file/Jeff King
The option name "--store" was used early in development, but never even made it into an applied patch, let alone a released version of git. I forgot to update the matching documentation at the time, though. Noticed-by: Jesse Hopkins <jesse.hopkins@lmco.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-04gitignore.txt: fix spelling of "backslash"Ben North
Signed-off-by: Ben North <ben@redfrontdoor.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-04diff-highlight: exit when a pipe is brokenJohn Szakmeister
While using diff-highlight with other tools, I have discovered that Python ignores SIGPIPE by default. Unfortunately, this also means that tools attempting to launch a pager under Python--and don't realize this is happening--means that the subprocess inherits this setting. In this case, it means diff-highlight will be launched with SIGPIPE being ignored. Let's work with those broken scripts by restoring the default SIGPIPE handler. Signed-off-by: John Szakmeister <john@szakmeister.net> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-04Documentation: typofixesThomas Ackermann
In addition to fixing trivial and obvious typos, be careful about the following points: - Spell ASCII, URL and CRC in ALL CAPS; - Spell Linux as Capitalized; - Do not omit periods in "i.e." and "e.g.". Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-04line-log: fix crash when --first-parent is usedTzvetan Mikov
line-log tries to access all parents of a commit, but only the first parent has been loaded if "--first-parent" is specified, resulting in a crash. Limit the number of parents to one if "--first-parent" is specified. Reported-by: Eric N. Vander Weele <ericvw@gmail.com> Signed-off-by: Tzvetan Mikov <tmikov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-04ignore stale directories when checking reflog existenceJeff King
When we update a ref, we have two rules for whether or not we actually update the reflog: 1. If the reflog already exists, we will always append to it. 2. If log_all_ref_updates is set, we will create a new reflog file if necessary. We do the existence check by trying to open the reflog file, either with or without O_CREAT (depending on log_all_ref_updates). If it fails, then we check errno to see what happened. If we were not using O_CREAT and we got ENOENT, the file doesn't exist, and we return success (there isn't a reflog already, and we were not told to make a new one). If we get EISDIR, then there is likely a stale directory that needs to be removed (e.g., there used to be "foo/bar", it was deleted, and the directory "foo" was left. Now we want to create the ref "foo"). If O_CREAT is set, then we catch this case, try to remove the directory, and retry our open. So far so good. But if we get EISDIR and O_CREAT is not set, then we treat this as any other error, which is not right. Like ENOENT, EISDIR is an indication that we do not have a reflog, and we should silently return success (we were not told to create it). Instead, the current code reports this as an error, and we fail to update the ref at all. Note that this is relatively unlikely to happen, as you would have to have had reflogs turned on, and then later turned them off (it could also happen due to a bug in fetch, but that was fixed in the previous commit). However, it's quite easy to fix: we just need to treat EISDIR like ENOENT for the non-O_CREAT case, and silently return (note that this early return means we can also simplify the O_CREAT case). Our new tests cover both cases (O_CREAT and non-O_CREAT). The first one already worked, of course. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-04fetch: load all default config at startupJeff King
When we start the git-fetch program, we call git_config to load all config, but our callback only processes the fetch.prune option; we do not chain to git_default_config at all. This means that we may not load some core configuration which will have an effect. For instance, we do not load core.logAllRefUpdates, which impacts whether or not we create reflogs in a bare repository. Note that I said "may" above. It gets even more exciting. If we have to transfer actual objects as part of the fetch, then we call fetch_pack as part of the same process. That function loads its own config, which does chain to git_default_config, impacting global variables which are used by the rest of fetch. But if the fetch is a pure ref update (e.g., a new ref which is a copy of an old one), we skip fetch_pack entirely. So we get inconsistent results depending on whether or not we have actual objects to transfer or not! Let's just load the core config at the start of fetch, so we know we have it (we may also load it again as part of fetch_pack, but that's OK; it's designed to be idempotent). Our tests check both cases (with and without a pack). We also check similar behavior for push for good measure, but it already works as expected. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-03RelNotes/2.2.0.txt: fix minor typosMatthieu Moy
Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-11-02l10n: Updated Bulgarian translation of git (2296t,0f,0u)Alexander Shopov
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2014-11-02l10n: zh_CN: translations for git v2.2.0-rc0Jiang Xin
Translate 62 new messages (2296t0f0u) for git v2.2.0-rc0. Also changed the translation of bare (repository). Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2014-11-02Merge branch 'fr_2.2.0' of git://github.com/jnavila/gitJiang Xin
* 'fr_2.2.0' of git://github.com/jnavila/git: l10n: fr.po (2296t) update for version 2.2.0
2014-11-02Merge branch 'master' of git://github.com/nafmo/git-l10n-svJiang Xin
* 'master' of git://github.com/nafmo/git-l10n-sv: l10n: sv.po: Update Swedish translation (2296t0f0u)
2014-11-01l10n: sv.po: Update Swedish translation (2296t0f0u)Peter Krefting
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2014-11-01l10n: fr.po (2296t) update for version 2.2.0Jean-Noel Avila
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Grégoire Paris <gparis@universcine.com>
2014-11-01l10n: vi.po: Update new message stringsTran Ngoc Quan
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2014-11-01l10n: git.pot: v2.2.0 round 1 (62 new, 23 removed)Jiang Xin
Generate po/git.pot from v2.2.0-rc0 for git v2.2.0 l10n round 1. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2014-10-31Git 2.2.0-rc0v2.2.0-rc0Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-31Merge branch 'for-junio' of git://bogomips.org/git-svnJunio C Hamano
* 'for-junio' of git://bogomips.org/git-svn: git-svn: use SVN::Ra::get_dir2 when possible git-svn: add space after "W:" prefix in warning git-svn: (cleanup) remove editor param passing git-svn: prepare SVN::Ra config pieces once Git.pm: add specified name to tempfile template git-svn: disable _rev_list memoization git-svn: save a little memory as fetch progresses git-svn: remove unnecessary DESTROY override git-svn: reload RA every log-window-size git-svn.txt: advertise pushurl with dcommit git-svn: remove mergeinfo rev caching git-svn: cache only mergeinfo revisions git-svn: reduce check_cherry_pick cache overhead git-svn: only look at the root path for svn:mergeinfo git-svn: only look at the new parts of svn:mergeinfo
2014-10-31Merge branch 'jc/push-cert'Junio C Hamano
* jc/push-cert: receive-pack: avoid minor leak in case start_async() fails
2014-10-31Merge branch 'rs/child-process-init'Junio C Hamano
* rs/child-process-init: api-run-command: add missing list item marker
2014-10-31Merge branch 'rs/grep-color-words'Junio C Hamano
Allow painting or not painting (partial) matches in context lines when showing "grep -C<num>" output in color. * rs/grep-color-words: grep: add color.grep.matchcontext and color.grep.matchselected
2014-10-31git-svn: use SVN::Ra::get_dir2 when possibleEric Wong
This avoids the following failure with normal "get_dir" on newer versions of SVN (tested with SVN 1.8.8-1ubuntu3.1): Incorrect parameters given: Could not convert '%ld' into a number get_dir2 also has the potential to be more efficient by requesting less data. ref: <1414636504.45506.YahooMailBasic@web172304.mail.ir2.yahoo.com> ref: <1414722617.89476.YahooMailBasic@web172305.mail.ir2.yahoo.com> Signed-off-by: Eric Wong <normalperson@yhbt.net> Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
2014-10-30bundle: split out ref writing from bundle_createJeff King
The bundle_create() function has a number of logical steps: process the input, write the refs, and write the packfile. Recent commits split the first and third into separate sub-functions. It's worth splitting the middle step out, too, if only because it makes the progression of the steps more obvious. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-30bundle: split out a helper function to compute and write prerequisitesJunio C Hamano
The new helper compute_and_write_prerequistes() is ugly, but it cannot be avoided. Ideally we should avoid a function that computes and does I/O at the same time, but the prerequisites lines in the output needs the human readable title only to help the recipient of the bundle. The code copies them straight from the rev-list output and immediately discards as no other internal computation needs that information. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-30bundle: split out a helper function to create pack dataJunio C Hamano
The create_bundle() function, while it does one single logical thing, takes a rather large implementation to do so. Let's start separating what it does into smaller steps to make it easier to see what is going on. This is a first step to separate out the actual pack-data generation, after the earlier part of the function figures out which part of the history to place in the bundle. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-30cache-tree: avoid infinite loop on zero-entry treeJeff King
The loop in cache-tree's update_one iterates over all the entries in the index. For each one, we find the cache-tree subtree which represents our path (creating it if necessary), and then recurse into update_one again. The return value we get is the number of index entries that belonged in that subtree. So for example, with entries: a/one a/two b/one We start by processing the first entry, "a/one". We would find the subtree for "a" and recurse into update_one. That would then handle "a/one" and "a/two", and return the value 2. The parent function then skips past the 2 handled entries, and we continue by processing "b/one". If the recursed-into update_one ever returns 0, then we make no forward progress in our loop. We would process "a/one" over and over, infinitely. This should not happen normally. Any subtree we create must have at least one path in it (the one that we are processing!). However, we may also reuse a cache-tree entry we found in the on-disk index. For the same reason, this should also never have zero entries. However, certain buggy versions of libgit2 could produce such bogus cache-tree records. The libgit2 bug has since been fixed, but it does not hurt to protect ourselves against bogus input coming from the on-disk data structures. Note that this is not a die("BUG") or assert, because it is not an internal bug, but rather a corrupted on-disk structure. It's possible that we could even recover from it (by throwing out the bogus cache-tree entry), but it is not worth the effort; the important thing is that we report an error instead of looping infinitely. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-10-30Merge git://ozlabs.org/~paulus/gitkJunio C Hamano
* git://ozlabs.org/~paulus/gitk: gitk: Remove boilerplate for configuration variables gitk: Show detached HEAD if --all is specified gitk: Do not depend on Cygwin's "kill" command on Windows
2014-10-30git-svn: add space after "W:" prefix in warningEric Wong
And minor reformatting while we're in the area. Signed-off-by: Eric Wong <normalperson@yhbt.net>