summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-09-25Merge branch 'jc/apply-include-exclude'Libravatar Shawn O. Pearce2-16/+46
* jc/apply-include-exclude: git-apply:--include=pathspec
2008-09-25Merge branch 'jc/safe-c-l-d'Libravatar Shawn O. Pearce1-1/+5
* jc/safe-c-l-d: safe_create_leading_directories(): make it about "leading" directories
2008-09-25gitweb: shortlog now also obeys $hash_parentLibravatar Giuseppe Bilotta1-1/+5
If $hash_parent is defined, shortlog now limits the list of commits at those between $hash_parent (exclusive) and $hash (inclusive). Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Acked-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-25Merge branch 'ho/dirstat-by-file'Libravatar Shawn O. Pearce3-1/+13
* ho/dirstat-by-file: diff --dirstat-by-file: count changed files, not lines
2008-09-25Merge git://repo.or.cz/git-guiLibravatar Shawn O. Pearce9-141/+793
* git://repo.or.cz/git-gui: git-gui: Reenable staging unmerged files by clicking the icon. git-gui: Support the encoding menu in gui blame. git-gui: Optimize encoding name resolution using a lookup table. git-gui: Allow forcing display encoding for diffs using a submenu. git-gui: Add a menu of available encodings. git-gui: Cleanup handling of the default encoding. git-gui: Assume `blame --incremental` output is in UTF-8 git-gui: Use gitattribute "encoding" for file content display git-gui: Add support for calling out to the prepare-commit-msg hook git-gui: Hide commit related UI during citool --nocommit git-gui: Add more integration options to citool. git-gui: Updated German translation. git-gui: I18n fix sentence parts into full sentences for translation again. git-gui: Restore ability to Stage Working Copy for conflicts. git-gui: Fix Blame Parent & Context for working copy lines.
2008-09-25Merge branch 'maint'Libravatar Shawn O. Pearce7-6/+49
* maint: Update release notes for 1.6.0.3 checkout: Do not show local changes when in quiet mode for-each-ref: Fix --format=%(subject) for log message without newlines git-stash.sh: don't default to refs/stash if invalid ref supplied maint: check return of split_cmdline to avoid bad config strings
2008-09-25Update release notes for 1.6.0.3Libravatar Shawn O. Pearce1-1/+17
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-25Fix submodule sync with relative submodule URLsLibravatar Johan Herland1-0/+8
Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-25graph.c: make many functions staticLibravatar Nanako Shiraishi2-54/+43
These function are not used anywhere. Also removes graph_release() that is never called. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-25remote.c: make free_ref(), parse_push_refspec() and free_refspecs() static.Libravatar Nanako Shiraishi2-5/+3
These functions are not used by any other file. Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-25checkout: Do not show local changes when in quiet modeLibravatar Jonas Fonseca1-1/+1
Signed-off-by: Jonas Fonseca <fonseca@diku.dk> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24for-each-ref: Fix --format=%(subject) for log message without newlinesLibravatar Johan Herland1-2/+2
'git for-each-ref --format=%(subject)' currently returns an empty string if the log message does not contain a newline. This patch teaches 'git for-each-ref' to return the entire log message (instead of an empty string) if there is no newline in the log message. Signed-off-by: Johan Herland <johan@herland.net> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-web--browse: Support for using /bin/start on MinGWLibravatar Petr Baudis2-2/+7
In the future, I think we should also default to xdg-open on Linux instead of having a KDE-specific hack. This patch has been sponsored by Novartis. Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Reenable staging unmerged files by clicking the icon.Libravatar Alexander Gavrilov3-33/+70
This restores functionality of the file icon for unmerged files. Safety is enforced by loading the diff and checking for lines that look like conflict markers. If such lines are found, or the conflict involves deletion and/or symlinks, a confirmation dialog is presented. Otherwise, the icon immediately stages the working copy version of the file. Includes a revert of 2fe5b2ee42897a3acc78e5ddaace3775eb2713ca (Restore ability to Stage Working Copy for conflicts) Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Tested-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Support the encoding menu in gui blame.Libravatar Alexander Gavrilov1-0/+17
Allow dynamically changing the encoding from the blame viewer as well. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Tested-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Optimize encoding name resolution using a lookup table.Libravatar Alexander Gavrilov1-29/+53
Encoding menu construction does almost a hundred of encoding resolutions, which with the old implementation led to a small but noticeable delay. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Tested-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Allow forcing display encoding for diffs using a submenu.Libravatar Alexander Gavrilov3-2/+44
Add a submenu to allow dynamically changing the encoding to use for diffs. Encoding settings are remembered while git-gui runs. The rules are: 1) Encoding set for a specific file overrides gitattributes. 2) Last explicitly set value of the encoding overrides gui.encoding Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Tested-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Add a menu of available encodings.Libravatar Alexander Gavrilov2-4/+142
To make encoding selection easier, add a menu that lists available encodings to the Options window. Menu structure is borrowed from Firefox. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Tested-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Cleanup handling of the default encoding.Libravatar Alexander Gavrilov5-6/+46
- Make diffs and blame default to the system (locale) encoding instead of hard-coding UTF-8. - Add a gui.encoding option to allow overriding it. - gitattributes still have the final word. The rationale for this is Windows support: 1) Windows people are accustomed to using legacy encodings for text files. For many of them defaulting to utf-8 will be counter-intuitive. 2) Windows doesn't support utf-8 locales, and switching the system encoding is a real pain. Thus the option. This patch also adds proper encoding conversion to Apply Hunk/Line. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Tested-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Assume `blame --incremental` output is in UTF-8Libravatar Shawn O. Pearce1-7/+1
Most commits have author name encoded in UTF-8, but the incremental blame output dumps raw bytes and doesn't give us the encoding header from the commit. Rather than fixing up tooltip data after we have viewed that particular commit in the blame viewer we can assume all names are in UTF-8. This is still going to cause problems when the author name is not encoded in UTF-8, but the only (efficient) way to solve that is to add an "encoding" header to the blame --incremental mode output, as otherwise we need to run `git cat-file commit $sha1` for each and every commit identified and that would be horribly expensive on any platform. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Use gitattribute "encoding" for file content displayLibravatar Shawn O. Pearce4-4/+26
Most folks using git-gui on internationalized files have complained that it doesn't recognize UTF-8 correctly. In the past we have just ignored the problem and showed the file contents as binary/US-ASCII, which is wrong no matter how you look at it. This really should be a per-file attribute, managed by .gitattributes, so we now pull the "encoding" attribute data for the given path from the .gitattributes (if available) and use that, falling back to UTF-8 if the attributes are unavailable, git-check-attr is broken, or an encoding for this path not specified. We apply the encoding anytime we show file content, which currently is limited to only the diff viewer and the blame viewer. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Add support for calling out to the prepare-commit-msg hookLibravatar Joshua Williams1-0/+65
Signed-off-by: Joshua Williams <joshua.williams@qlogic.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Hide commit related UI during citool --nocommitLibravatar Shawn O. Pearce1-48/+56
If the user started git-gui as "git citool --nocommit" then they don't need the new commit / amend commit radio buttons, or the sign off button in the UI. Rather than use up space with options the user cannot activate they are simply not installed into the UI. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-gui: Add more integration options to citool.Libravatar Alexander Gavrilov2-6/+83
- Make citool return nonzero exit code if it did not commit. - Add a mode where it does not actually commit and simply exits with zero code. Commit message is either disabled, or simply dumped to GITGUI_EDITMSG before exiting. - Add an option to immediately start it in amend mode. Rationale: 1) Use 'git citool --nocommit' instead of mergetool in scripts. 2) Use 'git citool --amend' to edit commits while rebasing. Signed-off-by: Alexander Gavrilov <angavrilov@gmail.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24git-stash.sh: don't default to refs/stash if invalid ref suppliedLibravatar Brandon Casey1-2/+15
apply_stash() and show_stash() each call rev-parse with '--default refs/stash' as an argument. This option causes rev-parse to operate on refs/stash if it is not able to successfully operate on any element of the command line. This includes failure to supply a "valid" revision. This has the effect of causing 'stash apply' and 'stash show' to operate as if stash@{0} had been supplied when an invalid revision is supplied. e.g. 'git stash apply stash@{1}' would fall back to 'git stash apply stash@{0}' This patch modifies these two functions so that they avoid using the --default option of rev-parse. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24Fixed some grammatical errors in git-rebase.txt documentation.Libravatar Garry Dolley1-4/+4
Generally, the dependent clause "for example" is suffixed with a comma. Used present tense where appropriate to be consistent with the other paragraphs. Rewrote the paragraph in the second hunk to be more clear. Signed-off-by: Garry Dolley <gdolley@ucla.edu> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-24maint: check return of split_cmdline to avoid bad config stringsLibravatar Deskin Miller3-0/+14
As the testcase demonstrates, it's possible for split_cmdline to return -1 and deallocate any memory it's allocated, if the config string is missing an end quote. In both the cases below, which are the only calling sites, the return isn't checked, and using the pointer causes a pretty immediate segfault. Signed-off-by: Deskin Miller <deskinm@umich.edu> Acked-by: Miklos Vajna <vmiklos@frugalware.org> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2008-09-23Merge branch 'maint'Libravatar Junio C Hamano5-15/+17
* maint: builtin-prune.c: prune temporary packs in <object_dir>/pack directory Do not perform cross-directory renames when creating packs
2008-09-23builtin-prune.c: prune temporary packs in <object_dir>/pack directoryLibravatar Brandon Casey1-10/+12
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-22Do not perform cross-directory renames when creating packsLibravatar Petr Baudis4-5/+5
A comment on top of create_tmpfile() describes caveats ('can have problems on various systems (FAT, NFS, Coda)') that should apply in this situation as well. This in the end did not end up solving any of my personal problems, but it might be a useful cleanup patch nevertheless. Signed-off-by: Petr Baudis <pasky@suse.cz> Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-22Merge branch 'maint'Libravatar Junio C Hamano2-12/+10
* maint: Use dashless git commands in setgitperms.perl git-remote: do not use user input in a printf format string
2008-09-22Use dashless git commands in setgitperms.perlLibravatar Todd Zullinger1-2/+2
Signed-off-by: Todd Zullinger <tmz@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-22git-remote: do not use user input in a printf format stringLibravatar Johannes Sixt1-10/+8
'git remote show' substituted the remote name into a string that was later used as a printf format string. If a remote name contains a printf format specifier like this: $ git remote add foo%sbar . then the command $ git remote show foo%sbar would print garbage (if you are lucky) or crash. This fixes it. Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-21git-svn: do a partial rebuild if rev_map is out-of-dateLibravatar Deskin Miller2-6/+20
Suppose you're using git-svn to work with a certain SVN repository. Since you don't like 'git-svn fetch' to take forever, and you don't want to accidentally interrupt it and end up corrupting your repository, you set up a remote Git repository to mirror the SVN repository, which does its own 'git-svn fetch' on a cronjob; now you can 'git-fetch' from the Git mirror into your local repository, and still dcommit to SVN when you have changes to push. After you do this, though, git-svn will get very confused if you ever try to do 'git-svn fetch' in your local repository again, since its rev_map will differ from the branch's head, and it will be unable to fetch new commits from SVN because of the metadata conflict. But all the necessary metadata are there in the Git commit message; git-svn already knows how to rebuild rev_map files that get blown away, by using the metadata. This patch teaches git-svn do a partial rebuild of the rev_map to match the true state of the branch, if it ever is used to fetch again. This will only work for projects not using either noMetadata or useSvmProps configuration options; if you are using these options, git-svn will fall back to the previous behaviour. Signed-off-by: Deskin Miller <deskinm@umich.edu> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-21git-svn: testcase for partial rebuildLibravatar Deskin Miler1-0/+59
[jc: use expect_failure to mark the test to expose existing breakage] Signed-off-by: Deskin Miller <deskinm@umich.edu> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-21Merge branch 'db/maint-checkout-b'Libravatar Junio C Hamano2-0/+22
* db/maint-checkout-b: Check early that a new branch is new and valid
2008-09-21t5510: test "git fetch" following tags minimallyLibravatar Junio C Hamano1-0/+20
When "git fetch" auto-follows tags, it should not download excess ones. This new test makes sure that condition. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-21Check early that a new branch is new and validLibravatar Daniel Barkalow2-0/+22
If you fail to update refs to change branches in checkout, your index and working tree are left already updated. We don't have an easy way to undo this, but at least we can check things that would make the creation of a new branch fail. These checks were in the shell version, and were lost in the C conversion. The messages are from the shell version, and should probably be made nicer. [jc: added test to t7201] Signed-off-by: Daniel Barkalow <barkalow@iabervon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-20Update draft release notes to 1.6.1Libravatar Junio C Hamano1-1/+21
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-19Merge branch 'maint'Libravatar Junio C Hamano8-39/+56
* maint: Start draft release notes for 1.6.0.3 git-repack uses --no-repack-object, not --no-repack-delta. Typo "bogos" in format-patch error message. builtin-clone: fix typo Bust the ghost of long-defunct diffcore-pathspec. completion: git commit should list --interactive Conflicts: RelNotes
2008-09-19Start draft release notes for 1.6.0.3Libravatar Junio C Hamano2-1/+30
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-19git-repack uses --no-repack-object, not --no-repack-delta.Libravatar Mikael Magnusson2-2/+2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-19Typo "bogos" in format-patch error message.Libravatar Mikael Magnusson1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-19builtin-clone: fix typoLibravatar Fabrizio Chiarello1-1/+1
Signed-off-by: Fabrizio Chiarello <ponch@autistici.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-19Bust the ghost of long-defunct diffcore-pathspec.Libravatar Yann Dirson2-34/+22
This concept was retired by 77882f6 (Retire diffcore-pathspec., 2006-04-10), more than 2 years ago. Signed-off-by: Yann Dirson <ydirson@altern.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-19bash: use for-each-ref format 'refname:short'Libravatar SZEDER Gábor1-20/+6
Using this format simplifies the code for completing refs and (in some cases) improves performance significantly. For repositories like the current git.git (with more than 200 refs) there is no real performance difference, but for a repository with 2000 refs the total time needed to complete the refs is reduced by ~25% (from around 400ms to around 305ms). Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-19completion: git commit should list --interactiveLibravatar Eric Raible1-1/+1
Signed-off-by: Eric Raible <raible@gmail.com> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2008-09-18Merge branch 'maint'Libravatar Junio C Hamano12-39/+327
* maint: sha1_file: link() returns -1 on failure, not errno Make git archive respect core.autocrlf when creating zip format archives Add new test to demonstrate git archive core.autocrlf inconsistency gitweb: avoid warnings for commits without body Clarified gitattributes documentation regarding custom hunk header. git-svn: fix handling of even funkier branch names git-svn: Always create a new RA when calling do_switch for svn:// git-svn: factor out svnserve test code for later use diff/diff-files: do not use --cc too aggressively
2008-09-18Merge branch 'jc/diff-prefix'Libravatar Junio C Hamano7-8/+70
* jc/diff-prefix: diff: vary default prefix depending on what are compared
2008-09-18Merge branch 'np/pack'Libravatar Junio C Hamano3-11/+27
* np/pack: t5300: improve SHA1 collision test pack-objects: don't include missing preferred base objects sha1write: don't copy full sized buffers Conflicts: t/t5300-pack-object.sh