aboutsummaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAge
* Introducing: git-cvsexportcommitMartin Langhoff2005-11-07
| | | | | | | | | | | | | | A script that can replay commits git into a CVS checkout. Tries to ensure the sanity of the operation and supports mainly manual usage. If you are reckless enough, you can ask it to autocommit when everything has applied cleanly. Combined with a couple more scripts could become part of a git2cvs gateway. Should support adds/removes and binary files. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Use fink/darwinport paths for OSXRandal L. Schwartz2005-11-06
| | | | | | | | There's no standard libexpat for OSX, so if you install it after-market, it can end up in various directories. Give paths used by fink and darwinports by default to CFLAGS. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge in http-push first stage.Junio C Hamano2005-11-06
|\
| * Add support for pushing to a remote repository using HTTP/DAVNick Hengeveld2005-11-06
| | | | | | | | | | | | | | Add support for pushing to a remote repository using HTTP/DAV Signed-off-by: Nick Hengeveld <nickh@reactrix.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Package split: Debian.Junio C Hamano2005-11-06
| | | | | | | | | | | | | | As discussed on the list, split the foreign SCM interoperability packages and documentation from the git-core binary package. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Simplify CFLAGS/DEFINES in MakefileJunio C Hamano2005-11-06
|/ | | | | | | | | | | | | | | | | | | I think the original intention was to make CFLAGS overridable from the make command line, but somehow we ended up accumulating conditional makefile sections that wrongly appends values to CFLAGs. These assignments do not work when the user actually override them from the make command line! DEFINES are handled the same way; it was seemingly overridable, but the makefile sections had assignments, which meant overriding it from the command line broke things. This simplifies things by limiting the internal futzing to ALL_CFLAGS, and by removing DEFINES altogether. Overriding CFLAGS from the command line should start working with this change. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add 'ours' merge strategy.Junio C Hamano2005-11-03
| | | | | | | | | | | | | This adds the coolest merge strategy ever, "ours". It can take arbitrary number of foreign heads and merge them into the current branch, with the resulting tree always taken from our branch head, hence its name. What this means is that you can declare that the current branch supersedes the development histories of other branches using this merge strategy. Signed-off-by: Junio C Hamano <junkio@cox.net>
* [PATCH] Clean up the SunOS Makefile rulePeter Eriksen2005-11-02
| | | | | | | | Don't set a non-standard CURLDIR as default, and fix an error in Solaris 10 by setting NEEDS_LIBICONV. Signed-off-by: Peter Eriksen <s022018@student.dtu.dk> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Make test-date buildable again.Junio C Hamano2005-11-02
| | | | | | | Now we define and use our own ctype-replacement, we need to link with it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Do not install backward compatibility links anymore.Junio C Hamano2005-11-01
| | | | | | | | | | | This is a companion patch to 4f9dcf7e5cf6c82455925102d315daf3b833e6d6 which stops mentioning the old command names. As promised, we do not install symlinks to let people use backward compatibility names anymore. cmd-rename.sh script is still shipped to help people who installed previous git by hand to clean up the leftover symlinks. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Remove git-findtags.perlPetr Baudis2005-11-01
| | | | | | | | This script was superseded by git-name-rev, which is more versatile, actually documented, faster, and everything else... Signed-off-by: Petr Baudis <pasky@suse.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* GIT 0.99.9 master branch.Junio C Hamano2005-10-30
| | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
* GIT 0.99.9v0.99.9Junio C Hamano2005-10-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done in 0.99.9 ============== Ports ~~~~~ * Cygwin port [HPA]. * OpenBSD build [Merlyn and others]. Fixes ~~~~~ * clone request over git native protocol from a repository with too many refs did not work; this has been fixed. * git-daemon got safer for kernel.org use [HPA]. * Extended SHA1 parser was not enforcing uniqueness for abbreviated SHA1; this has been fixed. * http transport does not barf on funny characters in URL. * The ref naming restrictions have been formalized and the coreish refuses to create funny refs; we still need to audit importers. See git-check-ref-format(1). New Features and Commands ~~~~~~~~~~~~~~~~~~~~~~~~~ * .git/config file as a per-repository configuration mechanism, and some commands understand it [Linus]. See git(7). * The core.filemode configuration item can be used to make us a bit more FAT friendly. See git(7). * The extended SHA1 notation acquired Peel-the-onion operator ^{type} and ^{}. See git-rev-parse(1). * SVN importer [Matthias]. See git-svnimport(1). * .git/objects/[0-9a-f]{2} directories are created on demand, and removed when becomes empty after prune-packed [Linus]. * Filenames output from various commands without -z option are quoted when they embed funny characters (TAB and LF) using C-style quoting within double-quotes, to match the proposed GNU diff/patch notation [me, but many people contributed in the discussion]. * git-mv is expected to be a better replacement for git-rename. While the latter has two parameter restriction, it acts more like the regular 'mv' that can move multiple things to one destinatino directory [Josef Weidendorfer]. * git-checkout can take filenames to revert the changes to them. See git-checkout(1) * The new program git-am is a replacement for git-applymbox that has saner command line options and a bit easier to use when a patch does not apply cleanly. * git-ls-remote can show unwrapped onions using ^{} notation, to help Cogito to track tags. * git-merge-recursive backend can merge unrelated projects. * git-clone over native transport leaves the result packed. * git-http-fetch issues multiple requests in parallel when underlying cURL library supports it [Nick and Daniel]. * git-fetch-pack and git-upload-pack try harder to figure out better common commits [Johannes]. * git-read-tree -u removes a directory when it makes it empty. * git-diff-* records abbreviated SHA1 names of original and resulting blob; this sometimes helps to apply otherwise an unapplicable patch by falling back to 3-way merge. * git-format-patch now takes series of from..to rev ranges and with '-m --stdout', writes them out to the standard output. This can be piped to 'git-am' to implement cheaper cherry-picking. * git-tag takes '-u' to specify the tag signer identity [Linus]. * git-rev-list can take optional pathspecs to skip commits that do not touch them (--dense) [Linus]. * Comes with new and improved gitk [Paulus and Linus]. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add git-name-revJohannes Schindelin2005-10-26
| | | | | | | | | | | | | | | git-name-rev tries to find nice symbolic names for commits. It does so by walking the commits from the refs. When the symbolic name is ambiguous, the following heuristic is applied: Try to avoid too many ~'s, and if two ambiguous names have the same count of ~'s, take the one whose last number is smaller. With "--tags", the names are derived only from tags. With "--stdin", the stdin is parsed, and after every sha1 for which a name could be found, the name is appended. (Try "git log | git name-rev --stdin".) Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* pack-objects: Allow use of pre-generated pack.Junio C Hamano2005-10-26
| | | | | | | | | | | | | | | | git-pack-objects can reuse pack files stored in $GIT_DIR/pack-cache directory, when a necessary pack is found. This is hopefully useful when upload-pack (called from git-daemon) is expected to receive requests for the same set of objects many times (e.g full cloning request of any project, or updates from the set of heads previous day to the latest for a slow moving project). Currently git-pack-objects does *not* keep pack files it creates for reusing. It might be useful to add --update-cache option to it, which would allow it store pack files it created in the pack-cache directory, and prune rarely used ones from it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add git-shell.Linus Torvalds2005-10-24
| | | | | | | | | | | | | This adds a very git specific restricted shell, that can be added to /etc/shells and set to the pw_shell in the /etc/passwd file, to give users ability to push into repositories over ssh without giving them full interactive shell acount. [jc: I updated Linus' patch to match what the current sq_quote() does.] Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Add git-mvJosef Weidendorfer2005-10-23
| | | | | | | | | | | | | | | | It supersedes git-rename by adding functionality to move multiple files, directories or symlinks into another directory. It also provides according documentation. The implementation renames multiple files, using the arguments from the command line to produce an array of sources and destinations. In a first pass, all requested renames are checked for errors, and overwriting of existing files is only allowed with '-f'. The actual renaming is done in a second pass. This ensures that any error condition is checked before anything is changed. Signed-off-by: Josef Weidendorfer <Josef.Weidendorfer@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Split up tree diff functions into tree-diff.c libraryLinus Torvalds2005-10-22
| | | | | | | | | | | | | | | | | | | | | | This makes the tree diff functionality independent of the "git-diff-tree" program, by splitting the core functionality up into a library file. This will be needed for when we teach git-rev-list to only follow a specified set of pathnames, rather than the global revision history. Most of it is a fairly straightforward code move, but it also involves some calling convention cleanup, and moving some of the static variables from diff-tree.c into the options structure. The actual tree change callback routines also become paramterized by the diff_options structure, allowing the library functionality to do something else than just show the diff on stdout. Right now the only user of this functionality remains git-diff-tree itself. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Make git-cherry-pick in target "all"Johannes Schindelin2005-10-20
| | | | | | | | Since git-cherry-pick is simply a copy of git-revert, it can be created before installing (so that it can be used without installing, too). Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* Merge branch 'svn' of http://netz.smurf.noris.de/git/gitJunio C Hamano2005-10-16
|\ | | | | | | | | | | | | [jc: I have my pre-commit hook enabled to catch trailing whitespaces, and fixed them up while merging.] Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Makefile entry for git-svnimport contained a small typo.Kalle Valo2005-10-16
| | | | | | | | Signed-Off-By: Matthias Urlichs <smurf@smurf.noris.de>
| * New: git-svnimport.Matthias Urlichs2005-10-10
| | | | | | | | | | | | | | | | | | | | As the name suggests, this script imports from SVN. Only "normal" SVN repositories (with single trunk/, branches/, and tags/ subdrectories) are supported. Incremental imports require preserving the file .git/svn2git. Signed-Off-by: Matthias Urlichs <smurf@smurf.noris.de>
* | git-check-ref-format: reject funny ref names.Junio C Hamano2005-10-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update check_ref_format() function to reject ref names that: * has a path component that begins with a ".", or * has a double dots "..", or * has ASCII control character, "~", "^", ":" or SP, anywhere, or * ends with a "/". Use it in 'git-checkout -b', 'git-branch', and 'git-tag' to make sure that newly created refs are well-formed. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Unlocalized isspace and friendsLinus Torvalds2005-10-14
| | | | | | | | | | | | | | | | | | Do our own ctype.h, just to get the sane semantics: we want locale-independence, _and_ we want the right signed behaviour. Plus we only use a very small subset of ctype.h anyway (isspace, isalpha, isdigit and isalnum). Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Add findtags - reworkedMartin Langhoff2005-10-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A short perl script that will walk the tag refs, tag objects, and even commit objects in its quest to figure out whether the given SHA1 (for a commit or tree) was ever tagged. This version is reworked incorporating sanity, feature and style fixes from Junio. Usage: git-findtags.perl [ -t ] <commit-or-tree-sha1> Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Add git-index-pack utilitySergey Vlasov2005-10-12
| | | | | | | | | | | | | | | | | | | | git-index-pack builds a pack index file for an existing packed archive. With this utility a packed archive which was transferred without the corresponding pack index can be added to objects/pack/ without repacking. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Use git config file for committer name and email infoLinus Torvalds2005-10-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This starts using the "user.name" and "user.email" config variables if they exist as the default name and email when committing. This means that you don't have to use the GIT_COMMITTER_EMAIL environment variable to override your email - you can just edit the config file instead. The patch looks bigger than it is because it makes the default name and email information non-static and renames it appropriately. And it moves the common git environment variables into a new library file, so that you can link against libgit.a and get the git environment without having to link in zlib and libcrypt. In short, most of it is renaming and moving, the real change core is just a few new lines in "git_default_config()" that copies the user config values to the new base. It also changes "git-var -l" to list the config variables. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Export template_dir in Makefile.Tom Prince2005-10-11
| | | | | | | | | | | | | | | | | | If somebody set template_dir in config.mak. Then git-init-db would be compiled with the correct location but the templates would be installed in the default location. Fix it. Signed-off-by: Tom Prince <tom.prince@ualberta.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Support custom build options in config.makJohannes Schindelin2005-10-11
| | | | | | | | | | | | | | | | | | | | | | With this patch, it is possible to store configuration options like NO_CURL=YesPlease or NO_OPENSSL=YesPlease into a file named config.mak, which will be included in the Makefile. [jc: redone with suggestion from Daniel Barkalow to just use -include] Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Add ".git/config" file parserLinus Torvalds2005-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a first cut at a very simple parser for a git config file. The format of the file is a simple ini-file like thing, with simple variable/value pairs. You can (and should) make the variables have a simple single-level scope, ie a valid file looks something like this: # # This is the config file, and # a '#' or ';' character indicates # a comment # ; core variables [core] ; Don't trust file modes filemode = false ; Our diff algorithm [diff] external = "/usr/local/bin/gnu-diff -u" renames = true which parses into three variables: "core.filemode" is associated with the string "false", and "diff.external" gets the appropriate quoted value. Right now we only react to one variable: "core.filemode" is a boolean that decides if we should care about the 0100 (user-execute) bit of the stat information. Even that is just a parsing demonstration - this doesn't actually implement that st_mode compare logic itself. Different programs can react to different config options, although they should always fall back to calling "git_default_config()" on any config option name that they don't recognize. Signed-off-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge branch 'fixes'Junio C Hamano2005-10-10
|\ \ | | | | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | OpenBSD needs the strcasestr replacement.Junio C Hamano2005-10-10
| | | | | | | | | | | | | | | | | | Noticed by Randal L. Schwartz. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Deal with $(bindir) and friends with whitespaces.Junio C Hamano2005-10-10
| | | | | | | | | | | | | | | | | | ... using HPA's shellquote macro. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Merge branch 'fixes'Junio C Hamano2005-10-09
|\ \ \ | |/ / | | | | | | | | | | | | with minor hand resolving on git-tag. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * | Give proper prototype to gitstrcasestr.Junio C Hamano2005-10-08
| | | | | | | | | | | | | | | | | | | | | Borrow from NO_MMAP patch by Johannes, squelch compiler warnings by declaring gitstrcasestr() when we use it. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | Makefile: avoid error message from 'uname -o'Junio C Hamano2005-10-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The platform specific tweaking part was using 'uname -o' which is not always available. Squelch error message from it. It was suggested to chain the if..else, but I chose not to, because maintaining the nested if..else if..else..endif endif to match is a pain. If we had "elif", things would have been different, though. While we are at it, try not to invoke 'uname -s' for each platform candidate. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | make $prefix available for sub-makefilesKai Ruemmler2005-10-08
| | | | | | | | | | | | | | | | | | | | | exports $prefix and makes Documentation/Makefile following it also. Signed-off-by: Kai Ruemmler <kai.ruemmler@gmx.net> Signed-off-by: Junio C Hamano <junkio@cox.net>
* | | [PATCH] If NO_MMAP is defined, fake mmap() and munmap()Johannes Schindelin2005-10-08
| | | | | | | | | | | | | | | | | | | | | | | | Since some platforms do not support mmap() at all, and others do only just so, this patch introduces the option to fake mmap() and munmap() by malloc()ing and read()ing explicitely. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
* | | Add git-am, applymbox replacement.Junio C Hamano2005-10-07
| |/ |/| | | | | | | | | | | | | | | It reorganizes the code and also has saner command line options syntax. Unlike git-applymbox, it can take more than one mailbox file from the command line, as well as reading from the standard input when '-' is specified. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Record which tree the patch applies to.Junio C Hamano2005-10-04
| | | | | | | | | | | | Also note which version of GIT produced the patch. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | On Cygwin, use symbolic ref, not a symbolic link, to express .git/HEADJunio C Hamano2005-10-03
| | | | | | | | | | | | | | | | | | | | | | H. Peter Anvin says that Samba "promotes" symlinks to hardlinks while Cygwin itself uses .lnk files to emulate symlinks. Avoid using symbolic link for .git/HEAD on Cygwin. This does not help the symlinks recorded in trees as user data, but at least we do not use them for our own bookkeeping. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | [PATCH] Merging the Cygwin changesJunio C Hamano2005-10-03
| | | | | | | | | | | | Fix mismerge typo. Signed-off-by: Junio C Hamano <junkio@cox.net>
* | Merge with master.kernel.org:/pub/scm/git/git.gitPeter Anvin2005-10-03
|\ \
| * | Post 0.99.8 master branchJunio C Hamano2005-10-02
| |/ | | | | | | Signed-off-by: Junio C Hamano <junkio@cox.net>
| * GIT 0.99.8v0.99.8Junio C Hamano2005-10-02
| | | | | | | | | | | | | | | | GIT already did everything I wanted it to do since mid 0.99.7, and it has almost everything I want it to have now, except a couple of minor tweaks and enhancements. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * Customize git command for installations that lack certain commands.Junio C Hamano2005-10-02
| | | | | | | | | | | | | | | | | | When the platform lacks certain git subcommands, omit them from the list of subcommands that are available from "git" wrapper. Noticed by Geert Bosch. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * [PATCH] git on OpenBSDHan Boetes2005-10-02
| | | | | | | | | | | | iconv is installed in /usr/local. Signed-off-by: Junio C Hamano <junkio@cox.net>
| * More portability.Junio C Hamano2005-10-01
| | | | | | | | | | | | | | | | | | | | | | - The location of openssl development files got customizable. - The location of iconv development files got customizable. - Pass $TAR down to t5000 test so that the user can override with 'gmake TAR=gtar'. - Solaris 'bc' does not seem to grok "define abs()". There is no reason to use bc there -- expr would do. Signed-off-by: Junio C Hamano <junio@twinsun.com>
| * Add git-symbolic-refJunio C Hamano2005-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds the counterpart of git-update-ref that lets you read and create "symbolic refs". By default it uses a symbolic link to represent ".git/HEAD -> refs/heads/master", but it can be compiled to use the textfile symbolic ref. The places that did 'readlink .git/HEAD' and 'ln -s refs/heads/blah .git/HEAD' have been converted to use new git-symbolic-ref command, so that they can deal with either implementation. Signed-off-by: Junio C Hamano <junio@twinsun.com>
* | Better handling of exec extension in the git wrapper scriptH. Peter Anvin2005-09-30
| |