Commit Graph

40004 Commits

Author SHA1 Message Date
Simon Hausmann
e87f37ae42 git-p4: Cleanup; moved the code to import a list of p4 changes using fast-import into a separate member function of P4Sync.
Signed-off-by: Simon Hausmann <simon@lst.de>
2007-09-03 20:34:56 +02:00
Simon Hausmann
4f6432d8cc git-p4: Cleanup; moved the code for getting a sorted list of p4 changes for a list of given depot paths into a standalone method.
Signed-off-by: Simon Hausmann <simon@lst.de>
2007-09-03 20:34:32 +02:00
Simon Hausmann
14594f4b57 git-p4: After submission to p4 always synchronize from p4 again (into refs/remotes). Whether to rebase HEAD or not is still left as question to the end-user.
Signed-off-by: Simon Hausmann <simon@lst.de>
2007-09-03 20:27:02 +02:00
Simon Hausmann
31f9ec129e git-p4: Always call 'p4 sync ...' before submitting to Perforce.
Acked-by: Marius Storm-Olsen <marius@trolltech.com>
Acked-by: Thiago Macieira <thiago@kde.org>
2007-09-03 20:27:02 +02:00
Johannes Schindelin
3894439022 Teach "git remote" a mirror mode
When using the "--mirror" option to "git remote add", the refs will not
be stored in the refs/remotes/ namespace, but in the same location as
on the remote side.

This option probably only makes sense in a bare repository.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-03 03:08:12 -07:00
Douglas Stockwell
34cc60ce2b send-email: Add support for SSL and SMTP-AUTH
Allows username and password to be given using --smtp-user
and --smtp-pass. SSL use is flagged by --smtp-ssl. These are
backed by corresponding defaults in the git configuration file.

This implements Junio's 'mail identity' suggestion in a slightly
more generalised manner. --identity=$identity, backed by
sendemail.identity indicates that the configuration subsection
[sendemail "$identity"] should take priority over the [sendemail]
section for all configuration values.

Signed-off-by: Douglas Stockwell <doug@11011.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-03 02:40:48 -07:00
Junio C Hamano
1e61b7640d Start 1.5.4 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-03 02:40:06 -07:00
Junio C Hamano
5587cac28b GIT 1.5.3.1: obsolete git-p4 in RPM spec file.
HPA noticed that yum does not like the newer git RPM set; it turns out
that we do not ship git-p4 anymore but existing installations do not
realize the package is gone if we do not tell anything about it.

David Kastrup suggests using Obsoletes in the spec file of the new
RPM to replace the old package, so here is a try.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.5.3.1
2007-09-03 01:28:37 -07:00
Michele Ballabio
74e528bf44 git-gui: remove dots in some UI strings
Dots in a UI string usually mean that a dialog box will
appear waiting for further input. So this patch removes
unneeded dots for actions that do not require user's
input.

Signed-off-by: Michele Ballabio <barra_cuda@katamail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-09-03 00:45:25 -04:00
Shawn O. Pearce
87b63de49c git-gui: Quiet the msgfmt part of the make process
I really prefer having a very short and sweet makefile output that
does not flood the user's screen with a ton of commands that they
don't care much about.  Traditionally git-gui has hidden away the
actual commands from output by the $(QUIET*) series of macros but
allow them to be seen with either `make QUIET=` or `make V=1`.

This change makes our i18n message generation process to be a lot
shorter and easier to digest at a glance:

  GITGUI_VERSION = 0.8.2.19.gb868-dirty
    * new locations or Tcl/Tk interpreter
    GEN git-gui
    BUILTIN git-citool
    INDEX lib/
    MSGFMT    po/de.msg 268 translated.
    MSGFMT    po/hu.msg 268 translated.
    MSGFMT    po/it.msg 268 translated.
    MSGFMT    po/ja.msg 268 translated.
    MSGFMT    po/ru.msg 249 translated, 12 fuzzy, 4 untranslated.
    MSGFMT po/zh_cn.msg 60 translated, 37 fuzzy, 168 untranslated.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-09-03 00:42:09 -04:00
Shawn O. Pearce
b86882eda0 git-gui: Correct stock message for 'Invalid font specified in %s'
This particular message is talking about a specific option in the
configuration file named "gui.$name".  This option is not localized
so we cannot localize the "gui." that denotes the section the option
$name is found within.  Currently there are no plans to localize the
configuration options for git-gui, but if that were to change in the
future then it would be necessary to localize not only the "gui."
section prefix but also the $name (fontui and fontdiff).

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-09-03 00:22:19 -04:00
Shawn O. Pearce
2ea2255507 git-gui: Update po/README as symlink process is not necessary
We don't actually need to create the lib/msgs symlink back to our
po directory in the source tree.  git-gui.sh is smart enough to
figure out this is where the msg files are and will load them from
the po directory if invoked as git-gui.sh.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-09-03 00:17:04 -04:00
Junio C Hamano
030e0e5fb7 Typofix: 1.5.3 release notes 2007-09-02 15:03:26 -07:00
Xudong Guan
b4b093d110 git-gui: Added initial version of po/glossary/zh_cn.po
with contributions from LI Yang, WANG Cong, ZHANG Le, and rae l
from the zh-kernel.org mailing list.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:58:37 +01:00
Christian Stimming
fcc73b7155 German glossary for translation
Signed-off-by: Christian Stimming <christian.stimming@ibeo-as.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:58:36 +01:00
Miklos Vajna
f6b7de2acd Hungarian translation of git-gui
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:58:36 +01:00
Irina Riesen
e2b7200fcd git-gui: initial version of russian translation
Signed-off-by: Alex Riesen <raa.lkml@gmail.com>
Signed-off-by: Irina Riesen <irina.riesen@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:58:35 +01:00
Paolo Ciarrocchi
4fe7626488 Italian translation of git-gui
[jes: includes patches from Michele Ballabio]

Signed-off-by: Paolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:58:35 +01:00
しらいしななこ
2340a74e5f Japanese translation of git-gui
[jes: Also includes work from Junio Hamano]

Signed-off-by: しらいしななこ <nanako3@bluebottle.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:58:34 +01:00
Xudong Guan
377eaa0396 Initial Chinese translation for git-gui
Simplified Chinese, in UTF-8 encoding.

Signed-off-by: Xudong Guan <xudong.guan@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:58:34 +01:00
Christian Stimming
90a7149ff1 German translation for git-gui
Signed-off-by: Christian Stimming <stimming@tuhh.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:58:17 +01:00
Christian Stimming
3b703b2a38 Add glossary translation template into git.
This way, it should be easier for new translators to actually find out
about the glossary.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:57:41 +01:00
Christian Stimming
660a68cf18 Add glossary that can be converted into a po file for each language.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:56:13 +01:00
Johannes Schindelin
9f1a80877a Ignore po/*.msg
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:56:13 +01:00
Johannes Schindelin
e79bbfea9b Add po/git-gui.pot
Usually, generated files are not part of the tracked content in
a project.  However, translators may lack the tools to generate
git-gui.pot.  Besides, it is possible that a contributor does
not even check out the repository, but gets this file via gitweb.

Pointed out by Junio.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:56:00 +01:00
Junio C Hamano
2631a81b90 git-gui po/README: Guide to translators
This short note is to help a translation contributor to help us
localizing git-gui message files by covering the basics.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-02 16:55:18 +01:00
Christian Stimming
3845048064 Makefile rules for translation catalog generation and installation.
[jes: with fixes by the i18n team.]

Signed-off-by: Christian Stimming <stimming@tuhh.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:55:16 +01:00
Christian Stimming
1ac17950e9 Mark strings for translation.
The procedure [mc ...] will translate the strings through msgcat.
Strings must be enclosed in quotes, not in braces, because otherwise
xgettext cannot extract them properly, although on the Tcl side both
delimiters would work fine.

[jes: I merged the later patches to that end.]

Signed-off-by: Christian Stimming <stimming@tuhh.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
2007-09-02 16:54:48 +01:00
Junio C Hamano
86bab9615c GIT 1.5.3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
v1.5.3
2007-09-02 00:00:00 -07:00
Junio C Hamano
776398709d Keep last used delta base in the delta window
This is based on Martin Koegler's idea to keep the object that
was successfully used as the base of the delta when it is about
to fall off the edge of the window.  Instead of doing so only
for the objects at the edge of the window, this makes the window
a lru eviction mechanism.  If an entry is used as a base, it is
moved to the last of the queue to be evicted.

This is a quick-and-dirty implementation, as it keeps the original
implementation of the data structure used for the window.  This
originally was done as an array, not as an array of pointers,
because it was meant to be used as a cyclic FIFO buffer and a
plain array avoids an extra pointer indirection, while its FIFOness
eant that we are not "moving" the entries like this patch does.

The runtime from three versions were comparable.  It seems to
make the resulting chain even shorter, which can only be good.

(stock "master") 15782196 bytes
chain length = 1: 2972 objects
chain length = 2: 2651 objects
chain length = 3: 2369 objects
chain length = 4: 2121 objects
chain length = 5: 1877 objects
...
chain length = 46: 490 objects
chain length = 47: 515 objects
chain length = 48: 527 objects
chain length = 49: 570 objects
chain length = 50: 408 objects

(with your patch) 15745736 bytes (0.23% smaller)
chain length = 1: 3137 objects
chain length = 2: 2688 objects
chain length = 3: 2322 objects
chain length = 4: 2146 objects
chain length = 5: 1824 objects
...
chain length = 46: 503 objects
chain length = 47: 509 objects
chain length = 48: 536 objects
chain length = 49: 588 objects
chain length = 50: 357 objects

(with this patch) 15612086 bytes (1.08% smaller)
chain length = 1: 4831 objects
chain length = 2: 3811 objects
chain length = 3: 2964 objects
chain length = 4: 2352 objects
chain length = 5: 1944 objects
...
chain length = 46: 327 objects
chain length = 47: 353 objects
chain length = 48: 304 objects
chain length = 49: 298 objects
chain length = 50: 135 objects

[jc: this is with code simplification follow-up from Nico]

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-01 23:53:47 -07:00
Shawn O. Pearce
d4b0ccd931 git-gui: Initialize Tcl's msgcat library for internationalization
Tcl's msgcat library and corresponding mc procedure can locate a
translated string for any user message, provided that it is first
given a directory where the *.msg files are located containing the
translations.

During installation we will place the translations in lib/msgs/,
so we need to inform msgcat of this location once we determine it
during startup.  Our source code tree however will store all of
the translations within the po/ directory, so we need to special
case this variant.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-09-01 22:22:42 -04:00
Shawn O. Pearce
fc703c209d git-gui: Locate the library directory early during startup
To support a localized version of git-gui we need to locate the
library directory early so we can initialize Tcl's msgcat package
to load translated messages from.  This needs to occur before we
declare our git-version proc so that errors related to locating
git or assessing its version can be reported to the end-user in
their preferred language.  However we have to keep the library
loading until after git-version has been declared, otherwise we
will fail to start git-gui if we are using a fake tclIndex that
was generated by our Makefile.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-09-01 21:58:29 -04:00
Junio C Hamano
4e837a98b6 Merge branch 'jp/send-email-cc'
* jp/send-email-cc:
  git-send-email --cc-cmd
2007-09-01 13:15:27 -07:00
Robin Rosenberg
a94eda65d3 Mention -m as an abbreviation for --merge
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-01 10:36:56 -07:00
Junio C Hamano
947ad2e1de Update my contact address as the maintainer. 2007-09-01 04:09:51 -07:00
Junio C Hamano
f368f5a6bc Documentation: minor AsciiDoc mark-up fixes.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-01 04:06:13 -07:00
Luben Tuikov
2e7766655a URL: allow port specification in ssh:// URLs
Allow port specification in ssh:// URLs in the
usual notation:

	ssh://[user@]host.domain[:<port>]/<path>

This allows git to be used over ssh-tunneling
networks.

Signed-off-by: Luben Tuikov <ltuikov@yahoo.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-01 03:35:29 -07:00
Junio C Hamano
c7965afd3d Avoid one-or-more (\+) non BRE in sed scripts.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-01 02:35:30 -07:00
Johannes Sixt
7afa845edc rebase -m: Fix incorrect short-logs of already applied commits.
When a topic branch is rebased, some of whose commits are already
cherry-picked upstream:

    o--X--A--B--Y    <- master
     \
      A--B--Z        <- topic

then 'git rebase -m master' would report:

    Already applied: 0001 Y
    Already applied: 0002 Y

With this fix it reports the expected:

    Already applied: 0001 A
    Already applied: 0002 B

As an added bonus, this change also avoids 'echo' of a commit message,
which might contain escapements.

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-09-01 02:23:05 -07:00
Junio C Hamano
aecbf914c4 git-diff: resurrect the traditional empty "diff --git" behaviour
The warning message to suggest "Consider running git-status" from
"git-diff" that we experimented with during the 1.5.3 cycle turns
out to be a bad idea.  It robbed cache-dirty information from people
who valued it, while still asking users to run "update-index --refresh".
It was hoped that the new behaviour would at least have some educational
value, but not showing the cache-dirty paths like before meant that the
user would not even know easily which paths were cache-dirty, and it
made the need to refresh the index look like even more unnecessary chore.

This commit reinstates the traditional behaviour, but with a twist.

By default, the empty "diff --git" output is totally squelched out
from "git diff" output.  At the end of the command, it automatically
runs "update-index --refresh" as needed, without even bothering the
user.  In other words, people who do not care about the cache-dirtyness
do not even have to see the warning.

The traditional behaviour to see the stat-dirty output and to bypassing
the overhead of content comparison can be specified by setting the
configuration variable diff.autorefreshindex to false.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-31 23:30:14 -07:00
Carlos Rica
18e32b5b7a git-tag: Fix -l option to use better shell style globs.
This patch removes certain behaviour of "git tag -l foo", currently
listing every tag name having "foo" as a substring.  The same
thing now could be achieved doing "git tag -l '*foo*'".

This feature was added recently when git-tag.sh got the -n option
for showing tag annotations, because that commit also replaced the
old "grep pattern" behaviour with a more preferable "shell pattern"
behaviour (although slightly modified as you can see).
Thus, the following builtin-tag.c implemented it in order to
ensure that tests were passing unchanged with both programs.

Since common "shell patterns" match names with a given substring
_only_ when * is inserted before and after (as in "*substring*"), and
the "plain" behaviour cannot be achieved easily with the current
implementation, this is mostly the right thing to do, in order to
make it more flexible and consistent.

Tests for "git tag" were also changed to reflect this.

Signed-off-by: Carlos Rica <jasampler@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-31 23:24:16 -07:00
Eric Wong
751eb39590 git-svn: fix dcommit clobbering upstream when committing multiple changes
Although dcommit could detect if the first commit in the series
would conflict with the HEAD revision in SVN, it could not
detect conflicts in further commits it made.

Now we rebase each uncommitted change after each revision is
committed to SVN to ensure that we are up-to-date.  git-rebase
will bail out on conflict errors if our next change cannot be
applied and committed to SVN cleanly, preventing accidental
clobbering of changes on the SVN-side.

--no-rebase users will have trouble with this, and are thus
warned if they are committing more than one commit.  Fixing this
for (hopefully uncommon) --no-rebase users would be more complex
and will probably happen at a later date.

Thanks to David Watson for finding this and the original test.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-31 23:22:51 -07:00
Junio C Hamano
eeebd8d8c5 git-svn: Protect against "diff.color = true".
If the configuration of the user has "diff.color = true", the
output from "log" we invoke internally added color codes, which
broke the parser.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Tested-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Acked-by: Eric Wong <normalperson@yhbt.net>
2007-08-31 23:22:51 -07:00
Johannes Schindelin
f95eef15f2 filter-branch: introduce convenience function "skip_commit"
With this function, a commit filter can leave out unwanted commits
(such as temporary commits).  It does _not_ undo the changeset
corresponding to that commit, but it _skips_ the revision.  IOW
no tree object is changed by this.

If you like to commit early and often, but want to filter out all
intermediate commits, marked by "@@@" in the commit message, you can
now do this with

	git filter-branch --commit-filter '
		if git cat-file commit $GIT_COMMIT | grep '@@@' > /dev/null;
		then
			skip_commit "$@";
		else
			git commit-tree "$@";
		fi' newbranch

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-31 23:22:51 -07:00
Johannes Schindelin
7e0f1704b8 filter-branch: provide the convenience functions also for commit filters
Move the convenience functions to the top of git-filter-branch.sh, and
return from the script when the environment variable SOURCE_FUNCTIONS is
set.

By sourcing git-filter-branch with that variable set automatically, all
commit filters may access the convenience functions like "map".

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-31 23:22:51 -07:00
Johannes Schindelin
f0fd889d7f rebase -i: mention the option to split commits in the man page
The interactive mode of rebase can be used to split commits.  Tell the
interested parties about it, with a dedicated section in the man page.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-31 23:22:51 -07:00
Johannes Schindelin
082036688f filter-branch: fix remnants of old syntax in documentation
Some time ago, filter-branch's syntax changed so that more than one
ref can be rewritten at the same time.  This involved the removal of
the ref name for the result; instead, the refs are rewritten in-place.

This updates the last leftovers in the documentation to reflect the
new behavior.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-31 23:22:51 -07:00
Shawn O. Pearce
88e21dc746 Teach bash about completing arguments for git-tag
Lately I have been doing a lot of calls to `git tag -d` and also to
`git tag -v`.  In both such cases being able to complete the names
of existing tags saves the fingers some typing effort.  We now look
for the -d or -v option to git-tag in the bash completion support
and offer up existing tag names as possible choices for these.

When creating a new tag we now also offer bash completion support
for the second argument to git-tag (the object to be tagged) as this
can often be a specific existing branch name and is not necessarily
the current HEAD.

If the -f option is being used to recreate an existing tag we now
also offer completion support on the existing tag names for the
first argument of git-tag, helping to the user to reselect the
prior tag name that they are trying to replace.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-08-31 23:47:01 -04:00
Junio C Hamano
e340d7d3fa Hopefully the final update to draft release notes for 1.5.3.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-31 00:36:43 -07:00
Junio C Hamano
a65f2005a6 Make "git-log --" without paths behave the same as "git-log" without --
"git log" family of commands, even when run from a subdirectory,
do not limit the revision range with the current directory as
the path limiter, but with double-dash without any paths after
it, i.e. "git log --" do so.  It was a mistake to have a
difference between "git log --" and "git log" introduced in
commit ae563542bf (First cut at
libifying revlist generation).

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-08-31 00:26:41 -07:00