summaryrefslogtreecommitdiff
path: root/devel/scmgit-docs
AgeCommit message (Collapse)AuthorFilesLines
2008-09-17Update to scmgit-1.6.0.2. In pkgsrc, in Makefile.common .include,bjs1-3/+3
change ${.CURDIR}/../... to ../../devel/scmgit/...; makes a lot more sense. Fixes since v1.6.0.1 -------------------- * Installation on platforms that needs .exe suffix to git-* programs were broken in 1.6.0.1. * Installation on filesystems without symbolic links support did nto work well. * In-tree documentations and test scripts now use "git foo" form to set a better example, instead of the "git-foo" form (which is an acceptable form if you have "PATH=$(git --exec-path):$PATH" in your script) * Many commands did not use the correct working tree location when used with GIT_WORK_TREE environment settings. * Some systems needs to use compatibility fnmach and regex libraries independent from each other; the compat/ area has been reorganized to allow this. * "git apply --unidiff-zero" incorrectly applied a -U0 patch that inserts a new line before the second line. * "git blame -c" did not exactly work like "git annotate" when range boundaries are involved. * "git checkout file" when file is still unmerged checked out contents from a random high order stage, which was confusing. * "git clone $there $here/" with extra trailing slashes after explicit local directory name $here did not work as expected. * "git diff" on tracked contents with CRLF line endings did not drive "less" intelligently when showing added or removed lines. * "git diff --dirstat -M" did not add changes in subdirectories up correctly for renamed paths. * "git diff --cumulative" did not imply "--dirstat". * "git for-each-ref refs/heads/" did not work as expected. * "git gui" allowed users to feed patch without any context to be applied. * "git gui" botched parsing "diff" output when a line that begins with two dashes and a space gets removed or a line that begins with two pluses and a space gets added. * "git gui" translation updates and i18n fixes. * "git index-pack" is more careful against disk corruption while completing a thin pack. * "git log -i --grep=pattern" did not ignore case; neither "git log -E --grep=pattern" triggered extended regexp. * "git log --pretty="%ad" --date=short" did not use short format when showing the timestamp. * "git log --author=author" match incorrectly matched with the timestamp part of "author " line in commit objects. * "git log -F --author=author" did not work at all. * Build procedure for "git shell" that used stub versions of some functions and globals was not understood by linkers on some platforms. * "git stash" was fooled by a stat-dirty but otherwise unmodified paths and refused to work until the user refreshed the index. * "git svn" was broken on Perl before 5.8 with recent fixes to reduce use of temporary files. * "git verify-pack -v" did not work correctly when given more than one packfile. Also contains many documentation updates.
2008-06-24Update to git-1.5.6.bjs1-3/+11
GIT v1.5.6 Release Notes ======================== Updates since v1.5.5 -------------------- (subsystems) * Comes with updated gitk and git-gui. (portability) * git will build on AIX better than before now. * core.ignorecase configuration variable can be used to work better on filesystems that are not case sensitive. * "git init" now autodetects the case sensitivity of the filesystem and sets core.ignorecase accordingly. * cpio is no longer used; neither "curl" binary (libcurl is still used). (documentation) * Many freestanding documentation pages have been converted and made available to "git help" (aka "man git<something>") as section 7 of the manual pages. This means bookmarks to some HTML documentation files may need to be updated (eg "tutorial.html" became "gittutorial.html"). (performance) * "git clone" was rewritten in C. This will hopefully help cloning a repository with insane number of refs. * "git rebase --onto $there $from $branch" used to switch to the tip of $branch only to immediately reset back to $from, smudging work tree files unnecessarily. This has been optimized. * Object creation codepath in "git-svn" has been optimized by enhancing plumbing commands git-cat-file and git-hash-object. (usability, bells and whistles) * "git add -p" (and the "patch" subcommand of "git add -i") can choose to apply (or not apply) mode changes independently from contents changes. * "git bisect help" gives longer and more helpful usage information. * "git bisect" does not use a special branch "bisect" anymore; instead, it does its work on a detached HEAD. * "git branch" (and "git checkout -b") can be told to set up branch.<name>.rebase automatically, so that later you can say "git pull" and magically cause "git pull --rebase" to happen. * "git branch --merged" and "git branch --no-merged" can be used to list branches that have already been merged (or not yet merged) to the current branch. * "git cherry-pick" and "git revert" can add a sign-off. * "git commit" mentions the author identity when you are committing somebody else's changes. * "git diff/log --dirstat" output is consistent between binary and textual changes. * "git filter-branch" rewrites signed tags by demoting them to annotated. * "git format-patch --no-binary" can produce a patch that lack binary changes (i.e. cannot be used to propagate the whole changes) meant only for reviewing. * "git init --bare" is a synonym for "git --bare init" now. * "git gc --auto" honors a new pre-auto-gc hook to temporarily disable it. * "git log --pretty=tformat:<custom format>" gives a LF after each entry, instead of giving a LF between each pair of entries which is how "git log --pretty=format:<custom format>" works. * "git log" and friends learned the "--graph" option to show the ancestry graph at the left margin of the output. * "git log" and friends can be told to use date format that is different from the default via 'log.date' configuration variable. * "git send-email" now can send out messages outside a git repository. * "git send-email --compose" was made aware of rfc2047 quoting. * "git status" can optionally include output from "git submodule summary". * "git svn" learned --add-author-from option to propagate the authorship by munging the commit log message. * new object creation and looking up in "git svn" has been optimized. * "gitweb" can read from a system-wide configuration file. (internal) * "git unpack-objects" and "git receive-pack" is now more strict about detecting breakage in the objects they receive over the wire.
2008-04-21Update devel/scmgit [1.5.4.5 -> 1.5.5]bjs2-3/+3
The scmgit-base package now installs most of its binaries, e.g. git-*, to ${PREFIX}/libexec/git-core/ instead of ${PREFIX}/bin. There are only two programs under ${LOCALBASE}/bin: the "master" git(7) wrapper program and the gitk tcl/tk repository browser. Given that there are many different GIT interfaces (GUI applications, devel/tig, shell completion scripts, etc.), it seemed needless to me to have 120+ binaries--a vast majority of which most users would seldom invoke directly--polluting ${LOCALBASE}/bin. GIT v1.5.5 Release Notes ======================== Updates since v1.5.4 -------------------- (subsystems) * Comes with git-gui 0.10.1 (portability) * We shouldn't ask for BSD group ownership semantics by setting g+s bit on directories on older BSD systems that refuses chmod() by non root users. BSD semantics is the default there anyway. * Bunch of portability improvement patches coming from an effort to port to Solaris has been applied. (performance) * On platforms with suboptimal qsort(3) implementation, there is an option to use more reasonable substitute we ship with our software. * New configuration variable "pack.packsizelimit" can be used in place of command line option --max-pack-size. * "git fetch" over the native git protocol used to make a connection to find out the set of current remote refs and another to actually download the pack data. We now use only one connection for these tasks. * "git commit" does not run lstat(2) more than necessary anymore. (usability, bells and whistles) * Bash completion script (in contrib) are aware of more commands and options. * You can be warned when core.autocrlf conversion is applied in such a way that results in an irreversible conversion. * A catch-all "color.ui" configuration variable can be used to enable coloring of all color-capable commands, instead of individual ones such as "color.status" and "color.branch". * The commands refused to take absolute pathnames where they require pathnames relative to the work tree or the current subdirectory. They now can take absolute pathnames in such a case as long as the pathnames do not refer outside of the work tree. E.g. "git add $(pwd)/foo" now works. * Error messages used to be sent to stderr, only to get hidden, when $PAGER was in use. They now are sent to stdout along with the command output to be shown in the $PAGER. * A pattern "foo/" in .gitignore file now matches a directory "foo". Pattern "foo" also matches as before. * bash completion's prompt helper function can talk about operation in-progress (e.g. merge, rebase, etc.). * Configuration variables "url.<usethis>.insteadof = <otherurl>" can be used to tell "git-fetch" and "git-push" to use different URL than what is given from the command line. * "git add -i" behaves better even before you make an initial commit. * "git am" refused to run from a subdirectory without a good reason. * After "git apply --whitespace=fix" fixes whitespace errors in a patch, a line before the fix can appear as a context or preimage line in a later patch, causing the patch not to apply. The command now knows to see through whitespace fixes done to context lines to successfully apply such a patch series. * "git branch" (and "git checkout -b") to branch from a local branch can optionally set "branch.<name>.merge" to mark the new branch to build on the other local branch, when "branch.autosetupmerge" is set to "always", or when passing the command line option "--track" (this option was ignored when branching from local branches). By default, this does not happen when branching from a local branch. * "git checkout" to switch to a branch that has "branch.<name>.merge" set (i.e. marked to build on another branch) reports how much the branch and the other branch diverged. * When "git checkout" has to update a lot of paths, it used to be silent for 4 seconds before it showed any progress report. It is now a bit more impatient and starts showing progress report early. * "git commit" learned a new hook "prepare-commit-msg" that can inspect what is going to be committed and prepare the commit log message template to be edited. * "git cvsimport" can now take more than one -M options. * "git describe" learned to limit the tags to be used for naming with --match option. * "git describe --contains" now barfs when the named commit cannot be described. * "git describe --exact-match" describes only commits that are tagged. * "git describe --long" describes a tagged commit as $tag-0-$sha1, instead of just showing the exact tagname. * "git describe" warns when using a tag whose name and path contradict with each other. * "git diff" learned "--relative" option to limit and output paths relative to the current directory when working in a subdirectory. * "git diff" learned "--dirstat" option to show birds-eye-summary of changes more concisely than "--diffstat". * "git format-patch" learned --cover-letter option to generate a cover letter template. * "git gc" learned --quiet option. * "git gc" now automatically prunes unreachable objects that are two weeks old or older. * "git gc --auto" can be disabled more easily by just setting gc.auto to zero. It also tolerates more packfiles by default. * "git grep" now knows "--name-only" is a synonym for the "-l" option. * "git help <alias>" now reports "'git <alias>' is alias to <what>", instead of saying "No manual entry for git-<alias>". * "git help" can use different backends to show manual pages and this can be configured using "man.viewer" configuration. * "gitk" does not restore window position from $HOME/.gitk anymore (it still restores the size). * "git log --grep=<what>" learned "--fixed-strings" option to look for <what> without treating it as a regular expression. * "git gui" learned an auto-spell checking. * "git push <somewhere> HEAD" and "git push <somewhere> +HEAD" works as expected; they push the current branch (and only the current branch). In addition, HEAD can be written as the value of "remote.<there>.push" configuration variable. * When the configuration variable "pack.threads" is set to 0, "git repack" auto detects the number of CPUs and uses that many threads. * "git send-email" learned to prompt for passwords interactively. * "git send-email" learned an easier way to suppress CC recipients. * "git stash" learned "pop" command, that applies the latest stash and removes it from the stash, and "drop" command to discard the named stash entry. * "git submodule" learned a new subcommand "summary" to show the symmetric difference between the HEAD version and the work tree version of the submodule commits. * Various "git cvsimport", "git cvsexportcommit", "git cvsserver", "git svn" and "git p4" improvements. (internal) * Duplicated code between git-help and git-instaweb that launches user's preferred browser has been refactored. * It is now easier to write test scripts that records known breakages. * "git checkout" is rewritten in C. * "git remote" is rewritten in C. * Two conflict hunks that are separated by a very short span of common lines are now coalesced into one larger hunk, to make the result easier to read. * Run-command API's use of file descriptors is documented clearer and is more consistent now. * diff output can be sent to FILE * that is different from stdout. This will help reimplementing more things in C. Fixes since v1.5.4 ------------------ All of the fixes in v1.5.4 maintenance series are included in this release, unless otherwise noted. * "git-http-push" did not allow deletion of remote ref with the usual "push <remote> :<branch>" syntax. * "git-rebase --abort" did not go back to the right location if "git-reset" was run during the "git-rebase" session. * "git imap-send" without setting imap.host did not error out but segfaulted.
2008-03-03Add USE_LANGUAGES=c (spotted by dh@, thanks). Bump rev.bjs1-2/+3
2008-02-28Update to 1.5.4.3. While here, change pkgsrc Makefiles to use the includedbjs1-15/+1
configure script. This not only makes our Makefiles more readable, but also performs various checks that were previously hard-coded, e.g. whether or not iconv's *char arguments are constified or not. We also no longer need the huge mess which checks for the asciidoc/xmlto versions in git-docs/Makefile. Also, misc. makefile fixes/stylistic changes and removal of Python dependencies. I don't see how they are needed. Python modules should be installed as seperate ${PKGPKGPREFIX}-scmgit packages. This was a somewhat radical change, so please report any problems. Changes since 1.5.4: * RPM spec used to pull in everything with 'git'. This has been changed so that 'git' package contains just the core parts, and we now supply 'git-all' metapackage to slurp in everything. This should match end user's expectation better. * When some refs failed to update, git-push reported "failure" which was unclear if some other refs were updated or all of them failed atomically (the answer is the former). Reworded the message to clarify this. * "git clone" from a repository whose HEAD was misconfigured did not set up the remote properly. Now it tries to do better. * Updated git-push documentation to clarify what "matching" means, in order to reduce user confusion. * Updated git-add documentation to clarify "add -u" operates in the current subdirectory you are in, just like other commands. * git-gui updates to work on OSX and Windows better. * The configuration parser was not prepared to see string valued variables misspelled as boolean and segfaulted. * Temporary files left behind due to interrupted object transfers were not cleaned up with "git prune". * "git config --unset" was confused when the unset variables were spelled with continuation lines in the config file. * The merge message detection in "git cvsimport" did not catch a message that began with "Merge...". * "git status" suggests "git rm --cached" for unstaging the earlier "git add" before the initial commit. * "git status" output was incorrect during a partial commit. * "git bisect" refused to start when the HEAD was detached. * "git bisect" allowed a wildcard character in the commit message expanded while writing its log file. * Manual pages were not formatted correctly with docbook xsl 1.72; added a workaround. * "git-commit -C $tag" used to work but rewrite in C done in 1.5.4 broke it. This was fixed in 1.5.4.1. * An entry in the .gitattributes file that names a pattern in a subdirectory of the directory it is in did not match correctly (e.g. pattern "b/*.c" in "a/.gitattributes" should match "a/b/foo.c" but it didn't). This was fixed in 1.5.4.1. * Customized color specification was parsed incorrectly when numeric color values are used. This was fixed in 1.5.4.1. * http transport misbehaved when linked with curl-gnutls. * "git-commit -C $tag" used to work but rewrite in C done in 1.5.4 broke it. * An entry in the .gitattributes file that names a pattern in a subdirectory of the directory it is in did not match correctly (e.g. pattern "b/*.c" in "a/.gitattributes" should match "a/b/foo.c" but it didn't). * Customized color specification was parsed incorrectly when numeric color values are used. This was fixed in 1.5.4.1.
2008-02-06Update to git-1.5.4. Remove stray Makefile.common in scmgit-docs.bjs3-35/+7
There are quite a few changes and (welcomed) fixes: please see the release notes in ${WRKSRC}/Documentation/RelNotes-1.5.4. A small subset of the changes are included here. Added ----- * i18n support for gitk. Removal ------- * "git svnimport" was removed in favor of "git svn". It is still there in the source tree (contrib/examples) but unsupported. * As git-commit and git-status have been rewritten, "git runstatus" helper script lost all its users and has been removed. Fixes since v1.5.3 (unique to the 1.5.4 branch) ------------------ These fixes are only in v1.5.4 and not backported to v1.5.3 maintenance series. * The way "git diff --check" behaves is much more consistent with the way "git apply --whitespace=warn" works. * "git svn" talking with the SVN over HTTP will correctly quote branch and project names. * "git config" did not work correctly on platforms that define REG_NOMATCH to an even number. * Recent versions of AsciiDoc 8 has a change to break our documentation; a workaround has been implemented. * "git diff --color-words" colored context lines in a wrong color.
2007-12-22Ignore return value of pkg_info -E, at least during the first run thejoerg1-2/+2
dependencies are likely to be missing.
2007-12-12Switch GIT to use a meta-pkg hierarchy like, for example, devel/subversion.bjs4-0/+201
Also, update to 1.5.3.7. Fixes since v1.5.3.6 -------------------- * git-send-email added 8-bit contents to the payload without marking it as 8-bit in a CTE header. * "git-bundle create a.bndl HEAD" dereferenced the symref and did not record the ref as 'HEAD'; this prevented a bundle from being used as a normal source of git-clone. * The code to reject nonsense command line of the form "git-commit -a paths..." and "git-commit --interactive paths..." were broken. * Adding a signature that is not ASCII-only to an original commit that is ASCII-only would make the result non-ASCII. "git-format-patch -s" did not mark such a message correctly with MIME encoding header. * git-add sometimes did not mark the resulting index entry stat-clean. This affected only cases when adding the contents with the same length as the previously staged contents, and the previous staging made the index entry "racily clean". * git-commit did not honor GIT_INDEX_FILE the user had in the environment. * When checking out a revision, git-checkout did not report where the updated HEAD is if you happened to have a file called HEAD in the work tree. * "git-rev-list --objects" mishandled a tree that points at a submodule. * "git cvsimport" was not ready for packed refs that "git gc" can produce and gave incorrect results. * Many scripted Porcelains were confused when you happened to have a file called "HEAD" in your work tree. * Miscellaneous updates to the user manual and documentation.