summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-06-26Don't ignore a pack-refs write failureLibravatar Jim Meyering1-0/+2
Without this, if the size of refs_file at that point is ever an exact multiple of BUFSIZ, then an EIO or ENOSPC error on the final write would not be diagnosed. It's not worth worrying about EPIPE here. Although theoretically possible that someone kill this process with a manual SIGPIPE, it's not at all likely. Signed-off-by: Jim Meyering <jim@meyering.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26detect close failure on just-written file handlesLibravatar Jim Meyering4-7/+8
I audited git for potential undetected write failures. In the cases fixed below, the diagnostics I add mimic the diagnostics used in surrounding code, even when that means not reporting the precise strerror(errno) cause of the error. Signed-off-by: Jim Meyering <jim@meyering.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26config: Add --null/-z option for null-delimted outputLibravatar Frank Lichtenheld3-10/+58
Use \n as delimiter between key and value and \0 as delimiter after each key/value pair. This should be easily parsable output. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26Merge branch 'maint'Libravatar Junio C Hamano6-15/+39
* maint: config: Change output of --get-regexp for valueless keys config: Complete documentation of --get-regexp cleanup merge-base test script Fix zero-object version-2 packs Ignore submodule commits when fetching over dumb protocols
2007-06-26config: Change output of --get-regexp for valueless keysLibravatar Frank Lichtenheld2-2/+12
Print no space after the name of a key without value. Otherwise keys without values are printed exactly the same as keys with empty values. Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26config: Complete documentation of --get-regexpLibravatar Frank Lichtenheld1-0/+2
The asciidoc documentation of the --get-regexp option was incomplete. Add some missing pieces: - List the option in SYNOPSIS - Mention that key names are printed Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26git-new-workdir: Fix shell warning about operator == used with test.Libravatar Simon Hausmann1-1/+1
Use = instead of == with test to test for equality. Signed-off-by: Simon Hausmann <simon@lst.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26cleanup merge-base test scriptLibravatar Sam Vilain1-12/+18
Add a picture, and keep the setup and the tests together. Signed-off-by: Sam Vilain <sam.vilain@catalyst.net.nz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26git.spec: RPM failed, looking for wrong files.Libravatar Quy Tonthat1-2/+5
RPM build broke with "File not found" error on git-gui.1 and git-citool.1 They actually are git-gui.1.gz and git-citool.1.gz Signed-off-by: Quy Tonthat <qtonthat@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26Fix zero-object version-2 packsLibravatar Linus Torvalds1-1/+4
A pack-file can get created without any objects in it (to transfer "no data" - which can happen if you use a reference git repo, for example, or just otherwise just end up transferring only branch head information and already have all the objects themselves). And while we probably should never create an index for such a pack, if we do (and we do), the index file size sanity checking was incorrect. This fixes it. Reported-and-tested-by: Jocke Tjernlund <tjernlund@tjernlund.se> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26Ignore submodule commits when fetching over dumb protocolsLibravatar Sven Verdoolaege1-0/+3
Without this patch, the code would look for the submodule commits in the superproject and (needlessly) fail when it couldn't find them. Signed-off-by: Sven Verdoolaege <skimo@liacs.nl> Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-26Merge branch 'master' of git://git.kernel.org/pub/scm/gitk/gitk into pm/gitkLibravatar Junio C Hamano1-945/+2072
* 'master' of git://git.kernel.org/pub/scm/gitk/gitk: (21 commits) gitk: Add a progress bar to show progress while resetting gitk: Improve handling of whitespace and special chars in filenames gitk: Fix bug causing nearby tags/heads to sometimes not be displayed gitk: Limit how often we change the canvas scrolling region gitk: Add a "reset branch to here" row context-menu operation gitk: Get rid of the childlist variable gitk: Speed up the reading of references gitk: Show local uncommitted changes as a fake commit gitk: New algorithm for drawing the graph lines gitk: Store ids in rowrangelist and idrowranges rather than row numbers gitk: Disable the head context menu entries for the checked-out branch gitk: Cope with commit messages with carriage-returns and initial blank lines gitk: Implement a simple scheduler for the compute-intensive stuff gitk: Improve the behaviour of the initial selection gitk: Add some more comments to the optimize_rows procedure gitk: Don't try to list large numbers of tags or heads in the details pane gitk: New infrastructure for working out branches & previous/next tags [PATCH] gitk: Allow specifying tabstop as other than default 8 characters. [PATCH] gitk: Update fontsize in patch / tree list [PATCH] gitk: Make selection highlight color configurable ... Conflicts: gitk
2007-06-26gitk: Add a progress bar to show progress while resettingLibravatar Paul Mackerras1-7/+45
Since git reset now gets chatty while resetting, we were getting errors reported when a reset was done using the "reset branch to here" menu item. With this we now read the progress messages from git reset and update a progress bar. Because git reset outputs the progress messages to standard error, and Tcl treats messages to standard error as error messages, we have to invoke git reset via a shell and redirect standard error into standard output. This also fixes a bug in computing descendent heads when head ids are changed via a reset. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-24git-send-email: Do not make @-less message IDLibravatar Junio C Hamano1-4/+12
When the original $from address fails to yield a valid-looking e-mail address, we created a bogus looking message ID, formatted like this: Message-Id: <11823357623688-git-send-email-> This commit fixes it by moving call to make_message_id() to where it matters, namely, before the $message_id is needed to be placed in the generated e-mail header; this has an important side effect of making it clear that $from is already available. Also throw in Sys::Hostname::hostname() just for fun, although I suspect that the code would never trigger due to the modified call sequence that makes sure $from is always available. This is based on a suggestion by Michael Hendricks. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-24git-svn: trailing slash in prefix is mandatory with --branches/-bLibravatar Gerrit Pape1-3/+4
Make clear in the documentation that when using --branches/-b and --prefix with 'init', the prefix must include a trailing slash. This matches the actual behavior of git-svn, e.g.: $ git svn init -Ttrunk -treleases -bbranches --prefix xxx \ http://svn.sacredchao.net/svn/quodlibet/ --prefix='xxx' must have a trailing slash '/' $ This was noticed by R. Vanicat and reported through http://bugs.debian.org/429443 Signed-off-by: Gerrit Pape <pape@smarden.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-24new-workdir: handle rev-parse --git-dir not always giving full pathLibravatar Julian Phillips1-0/+5
rev-parse --git-dir outputs a full path - except for the single case of when the path would be $(pwd)/.git, in which case it outputs simply .git. Check for this special case and handle it. Signed-off-by: Julian Phillips <julian@quantumfyre.co.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-24make dist: include configure script in tarballLibravatar Matthias Lederhofer1-2/+3
Signed-off-by: Matthias Lederhofer <matled@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-24Merge branch 'lt/follow'Libravatar Junio C Hamano5-1/+89
* lt/follow: Fix up "git log --follow" a bit.. Finally implement "git log --follow"
2007-06-24t9500: skip gitweb tests if perl version is too oldLibravatar Sven Verdoolaege1-0/+6
gitweb calls Encode::decode_utf8 with two arguments, but old versions of perl only allow this function to be called with one argument. Even older versions of perl do not even have an Encode module. Signed-off-by: Sven Verdoolaege <skimo@kotnet.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-23Merge branch 'master' of git://repo.or.cz/git/fastimportLibravatar Junio C Hamano4-1/+1738
* 'master' of git://repo.or.cz/git/fastimport: (260 commits) Avoid src:dst syntax as default bash completion for git push Make it possible to specify the HEAD for the internal findUpstreamBranchPoint function. Added git-p4 branches command that shows the mapping of perforce depot paths to imported git branches. Warn about conflicting p4 branch mappings and use the first one found. Fix the branch mapping detection to be independent from the order of the "p4 branches" output. git-p4 fails when cloning a p4 depo. Fix initial multi-branch import. Only use double quotes on Windows Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally Moved the code from git-p4 submit to figure out the upstream branch point git-p4 submit: Fix missing quotes around p4 commands to make them work with spaces in filenames Mention remotes/p4/master also in the documentation. Provide some information for single branch imports where the commits go git-p4: check for existence of repo dir before trying to create Write out the options tag in the log message of imports only if we actually have Fix support for explicit disabling of syncing with the origin Fix depot-paths encoding for multi-path imports (don't split up //depot/path/foo) Fix project name guessing Fix updating/creating remotes/p4/* heads from origin/p4/* Fixed the check to make sure to exclude the HEAD symbolic refs when updating ...
2007-06-23gitk: Improve handling of whitespace and special chars in filenamesLibravatar Paul Mackerras1-51/+84
The main thing here is better parsing of the diff --git lines in the output of git diff-tree -p. We now cope with filenames in quotes with special chars escaped. If the filenames contain spaces they aren't quoted, however, which can create difficulties in parsing. We get around the difficulties by detecting the case when the filename hasn't changed (chop the part after "diff --git " in two and see if the halves match apart from a/ in one and b/ in the other), and if it hasn't changed, we just use one half. If the filename has changed we wait for the "rename from" and "rename to" lines, which give the old and new filenames unambiguously. This also improves the parsing of the output of git diff-tree. Instead of using lindex to extract the filename, we take the part from the first tab on, and if it starts with a quote, we use [lindex $str 0] to remove the quotes and convert the escapes. This also gets rid of some unused tagging of the diff text, uses [string compare] instead of [regexp] in some places, and fixes the regexp for detecting the @@ hunk-separator lines (the regexp wasn't accepting a single number, as in "-0,0 +1" for example). Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Fix bug causing nearby tags/heads to sometimes not be displayedLibravatar Paul Mackerras1-3/+11
When we compute descendent heads and descendent/ancestor tags, we cache the results. We need to be careful to invalidate the cache when we add stuff to the graph. Also make sure that when we cache descendent heads for a node we only cache the heads that are actually descendents of that node. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Limit how often we change the canvas scrolling regionLibravatar Paul Mackerras1-1/+7
For some unknown reason, changing the scrolling region on the canvases provokes multiple milliseconds worth of computation in the X server, and this can end up slowing gitk down significantly. This works around the problem by limiting the rate at which we update the scrolling region after the first 100 rows to at most 2 per second. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Add a "reset branch to here" row context-menu operationLibravatar Paul Mackerras1-5/+57
This adds an entry to the menu that comes up when the user does a right-click on a row. The new entry allows the user to reset the currently checked-out head to the commit for the row that they did the right-click on. The user has to select what type of reset to do, and confirm the reset, via a dialog box that pops up. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Get rid of the childlist variableLibravatar Paul Mackerras1-29/+17
The information in childlist is a duplicate of what's in the children array, and it wasn't being accessed often enough to be really worth keeping the list around as well. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Speed up the reading of referencesLibravatar Paul Mackerras1-34/+31
We were doing two execs for each tag - one to map the tag ID to a commit ID and one to read the contents of the tag for later display. This speeds up the process by not reading the contents of the tag (instead it is read later if needed), and by using the -d flag to git show-ref, which gives us refs/tags/foo^{} lines which give us the commit ID. Also this uses string operations instead of regexps. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Show local uncommitted changes as a fake commitLibravatar Paul Mackerras1-53/+284
If there are local changes in the repository, i.e., git-diff-index HEAD produces some output, then this optionally displays an extra row in the graph as a child of the HEAD commit (but with a red circle to indicate that it's not a real commit). There is a checkbox in the preferences window to control whether gitk does this or not. Clicking on the extra row shows the diffs between the working directory and the HEAD (using git diff-index -p). The right-click menu on the extra row allows the user to generate a patch containing the local diffs, or to display the diffs between the working directory and any commit. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: New algorithm for drawing the graph linesLibravatar Paul Mackerras1-185/+297
This only draws as much of the graph lines as is visible. This can happen by adding coordinates on to an existing graph line or by creating a new line. This means that we only need to have laid out and optimized as much of the graph as is actually visible in order to draw it, including the lines (previously we didn't draw a graph line until we had laid out and optimized to the end of a segment of the line, i.e. down to a down-arrow or to the row where the line's commit is displayed). This also lets us get rid of the linesegends list, and gives us an easy workaround for the X server bug that causes long lines to be misdrawn. This also gets rid of the use of rowoffsets in drawlineseg et al. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Store ids in rowrangelist and idrowranges rather than row numbersLibravatar Paul Mackerras1-48/+28
This removes the need for insertrow to go through rowrangelist and idrowranges and adjust a lot of entries. The first entry for a given id is now the row number of the first child, not that row number + 1, and rowranges compensates for that so its callers didn't have to change. This adds a ranges argument to drawlineseg so that we can avoid calling rowranges a second time inside drawlineseg (all its callers already called rowranges). Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Disable the head context menu entries for the checked-out branchLibravatar Paul Mackerras1-1/+8
Neither the "check out this branch" nor the "remove this branch" menu item can be used on the currently-checked out branch, so disable them. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Cope with commit messages with carriage-returns and initial blank linesLibravatar Paul Mackerras1-6/+14
In some repositories imported from other systems we can get carriage return characters in the commit message, which leads to a multi-line headline being displayed in the summary window, which looks bad. Also some commit messages start with one or more blank lines, which leads to an empty headline. This fixes these problems. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Implement a simple scheduler for the compute-intensive stuffLibravatar Paul Mackerras1-253/+310
This allows us to do compute-intensive processing, such as laying out the graph, relatively efficiently while also having the GUI be reasonably responsive. The problem previously was that file events were serviced before X events, so reading from another process which supplies data quickly (hi git rev-list :) could mean that X events didn't get processed for a long time. With this, gitk finishes laying out the graph slightly sooner and still responds to the GUI while doing so. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Improve the behaviour of the initial selectionLibravatar Paul Mackerras1-8/+30
It used to be that if you clicked on a line while gitk was still drawing stuff, it would immediately re-select the first line of the display. This fixes that. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Add some more comments to the optimize_rows procedureLibravatar Paul Mackerras1-0/+12
Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: Don't try to list large numbers of tags or heads in the details paneLibravatar Paul Mackerras1-18/+24
With some large repositories, a commit can end up on thousands of branches, which results in an extremely long "Branches:" line in the details window, and that results in the window being extremely slow to scroll. This fixes it by just showing "many (N)" after "Branches:", "Follows:" or "Precedes:", where N is the number of heads or tags. The limit is currently set at 20 but could be made configurable (and the "many" could be a link to pop up a window listing them all in case anyone really wants to know). Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-23gitk: New infrastructure for working out branches & previous/next tagsLibravatar Paul Mackerras1-350/+890
Instead of working out descendent heads and descendent & ancestor branches in a two-pass algorithm, this reads and stores a simplified version of the graph topology, and works out descendent/ancestor tags and descendent heads on demand (with a bit of caching). The advantages of this are, first, that we now don't have to use --topo-order on the git rev-list process. Secondly, we don't have to re-read the whole graph when tags or heads change or even when the graph changes. Since we can cope with parents coming before children, we can update the graph by running a git rev-list with arguments that just give us the new commits, and merge the new commits into the simplified graph. The graph is simplified in the sense that commits with exactly one parent and one child (which is >90% of them in most cases) are grouped together into arcs joining nodes or 'branch/merge points', which are the commits that don't have exactly 1 parent and 1 child. This reduces the size of the graph substantially and decreases the time to traverse it correspondingly. Signed-off-by: Paul Mackerras <paulus@samba.org>
2007-06-22Fix up "git log --follow" a bit..Libravatar Linus Torvalds1-9/+28
This fixes "git log --follow" to hopefully not leak memory any more, and also cleans it up a bit to look more like some of the other functions that use "diff_queued_diff" (by *not* using it directly as a global in the code, but by instead just taking a pointer to the diff queue and using that). As to "diff_queued_diff", I think it would be better off not as a global at all, but as being just an entry in the "struct diff_options" structure, but that's a separate issue, and there may be some subtle reason for why it's currently a global. Anyway, no real changes. Instead of having a magical first entry in the diff-queue, we now end up just keeping the diff-queue clean, and keeping our "preferred" file pairing in an internal "choice" variable. That makes it easy to switch the choice around when we find a better one. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-22Finally implement "git log --follow"Libravatar Linus Torvalds5-1/+70
Ok, I've really held off doing this too damn long, because I'm lazy, and I was always hoping that somebody else would do it. But no, people keep asking for it, but nobody actually did anything, so I decided I might as well bite the bullet, and instead of telling people they could add a "--follow" flag to "git log" to do what they want to do, I decided that it looks like I just have to do it for them.. The code wasn't actually that complicated, in that the diffstat for this patch literally says "70 insertions(+), 1 deletions(-)", but I will have to admit that in order to get to this fairly simple patch, you did have to know and understand the internal git diff generation machinery pretty well, and had to really be able to follow how commit generation interacts with generating patches and generating the log. So I suspect that while I was right that it wasn't that hard, I might have been expecting too much of random people - this patch does seem to be firmly in the core "Linus or Junio" territory. To make a long story short: I'm sorry for it taking so long until I just did it. I'm not going to guarantee that this works for everybody, but you really can just look at the patch, and after the appropriate appreciative noises ("Ooh, aah") over how clever I am, you can then just notice that the code itself isn't really that complicated. All the real new code is in the new "try_to_follow_renames()" function. It really isn't rocket science: we notice that the pathname we were looking at went away, so we start a full tree diff and try to see if we can instead make that pathname be a rename or a copy from some other previous pathname. And if we can, we just continue, except we show *that* particular diff, and ever after we use the _previous_ pathname. One thing to look out for: the "rename detection" is considered to be a singular event in the _linear_ "git log" output! That's what people want to do, but I just wanted to point out that this patch is *not* carrying around a "commit,pathname" kind of pair and it's *not* going to be able to notice the file coming from multiple *different* files in earlier history. IOW, if you use "git log --follow", then you get the stupid CVS/SVN kind of "files have single identities" kind of semantics, and git log will just pick the identity based on the normal move/copy heuristics _as_if_ the history could be linearized. Put another way: I think the model is broken, but given the broken model, I think this patch does just about as well as you can do. If you have merges with the same "file" having different filenames over the two branches, git will just end up picking _one_ of the pathnames at the point where the newer one goes away. It never looks at multiple pathnames in parallel. And if you understood all that, you probably didn't need it explained, and if you didn't understand the above blathering, it doesn't really mtter to you. What matters to you is that you can now do git log -p --follow builtin-rev-list.c and it will find the point where the old "rev-list.c" got renamed to "builtin-rev-list.c" and show it as such. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-22Merge branch 'jc/oneline'Libravatar Junio C Hamano1-2/+2
* jc/oneline: pp_header(): work around possible memory corruption
2007-06-22Merge branch 'ei/oneline+add-empty'Libravatar Junio C Hamano13-239/+410
* ei/oneline+add-empty: Fix ALLOC_GROW calls with obsolete semantics Fix ALLOC_GROW off-by-one builtin-add: simplify (and increase accuracy of) exclude handling dir_struct: add collect_ignored option Extend --pretty=oneline to cover the first paragraph, Lift 16kB limit of log message output
2007-06-22filter-branch: add example to move everything into a subdirectoryLibravatar Johannes Schindelin2-0/+16
This is based on Jeff King's example in 20070621130137.GB4487@coredump.intra.peff.net Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-22Merge branch 'js/filter'Libravatar Junio C Hamano3-1/+537
* js/filter: filter-branch: subdirectory filter needs --full-history filter-branch: Simplify parent computation. Teach filter-branch about subdirectory filtering filter-branch: also don't fail in map() if a commit cannot be mapped filter-branch: Use rev-list arguments to specify revision ranges. filter-branch: fix behaviour of '-k' filter-branch: use $(($i+1)) instead of $((i+1)) chmod +x git-filter-branch.sh filter-branch: prevent filters from reading from stdin t7003: make test repeatable Add git-filter-branch
2007-06-22Two trivial -Wcast-qual fixesLibravatar Junio C Hamano2-2/+2
Luiz Fernando N. Capitulino noticed the one in tree-walk.h where we cast away constness while computing the legnth of a tree entry. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-22diffcore-rename: favour identical basenamesLibravatar Johannes Schindelin2-1/+45
When there are several candidates for a rename source, and one of them has an identical basename to the rename target, take that one. Noticed by Govind Salinas, posted by Shawn O. Pearce, partial patch by Linus Torvalds. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-22Document git-gui, git-citool as mainporcelain manual pagesLibravatar Shawn O. Pearce4-5/+156
Jakub Narebski pointed out that the git-gui blame viewer is not a widely known feature, but is incredibly useful. Part of the issue is advertising. Up until now we haven't even referenced git-gui from within the core Git manual pages, mostly because I just wasn't sure how I wanted to supply git-gui documentation to end-users, or how that documentation should integrate with the core Git documentation. Based upon Jakub's comment that many users may not even know that the gui is available in a stock Git distribution I'm offering up two basic manual pages: git-citool and git-gui. These should offer enough of a starting point for users to identify that the gui exists, and how to start it. Future releases of git-gui may contain their own documentation system available from within a running git-gui. But not today. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-22Generate tags with correct timestamp (git-svnimport)Libravatar Dave O'Neill2-24/+3
Now uses git-tag instead of manually constructing the tag. This gives us a correct timestamp, removes some crufty code, and makes it work the same as git-cvsimport. The generated tags are now lightweight tags instead of tag objects, which may or may not be the behaviour we want. Also, remove two unused variables from git-cvsimport. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2007-06-22Import branch 'git-p4' of git://repo.or.cz/fast-exportLibravatar Shawn O. Pearce3-0/+1737
Simon has asked that the git.git project include the git-p4 project as at least a contrib/fast-import within git.git. I think it makes a lot of sense, as git-p4 nicely complements the only other in-tree fast-import user: import-tars.perl. git-p4 is offered under the MIT license by its authors.
2007-06-22Avoid src:dst syntax as default bash completion for git pushLibravatar Shawn O. Pearce1-1/+1
Raimund Bauer just discovered that the default bash completion for a local branch name in a git-push line is not the best choice when the branch does not exist on the remote system. In the past we have always completed the local name 'test' as "test:test", indicating that the destination name is the same as the local name. But this fails when "test" does not yet exist on the remote system, as there is no "test" branch for it to match the name against. Fortunately git-push does the right thing when given just the local branch, as it assumes you want to use the same name in the destination repository. So we now offer "test" as the completion in a git-push line, and let git-push assume that is also the remote branch name. We also still support the remote branch completion after the :, but only if the user manually adds the colon before trying to get a completion. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-06-22Make it possible to specify the HEAD for the internal ↵Libravatar Simon Hausmann1-2/+2
findUpstreamBranchPoint function. This isn't used right now in git-p4 but I use it in an external script that loads git-p4 as module. Signed-off-by: Simon Hausmann <shausman@trolltech.com>
2007-06-20Cloning from a repo without "current branch"Libravatar Nanako Shiraishi1-7/+13
If the remote repository does not have a "current branch", git-clone was confused and did not set up the resulting new repository correctly. It did not reset HEAD from the default 'master', and did not write the SHA1 to the master branch. Signed-off-by: Nanako Shiraishi <nanako3@bluebottle.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>