summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* t7508-status: test all modes with colorMichael J Gruber2009-12-083-44/+156
| | | | | | | | Move a useful script function to decode colored output to text form from t4034 and use it in this test as well. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t7508-status: status --porcelain ignores relative paths settingMichael J Gruber2009-12-081-0/+18
| | | | | Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* status: reduce duplicated setup codeJeff King2009-12-072-12/+9
| | | | | | | | | | | | | | | | | | We have three output formats: short, porcelain, and long. The short and long formats respect user-config, and the porcelain one does not. This led to us repeating config-related setup code for the short and long formats. Since the last commit, color config is explicitly cleared when showing the porcelain format. Let's do the same with relative-path configuration, which enables us to hoist the duplicated code from the switch statement in cmd_status. As a bonus, this fixes "commit --dry-run --porcelain", which was unconditionally setting up that configuration, anyway. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* status: disable color for porcelain formatJeff King2009-12-073-2/+9
| | | | | | | | | The porcelain format is identical to the shortstatus format, except that it should not respect any user configuration, including color. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* status -s: obey color.statusMichael J Gruber2009-12-052-7/+18
| | | | | | | | | | Make the short version of status obey the color.status boolean. We color the status letters only, because they carry the state information and are potentially colored differently, such as for a file with staged changes as well as changes in the worktree against the index. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* builtin-commit: refactor short-status code into wt-status.cMichael J Gruber2009-12-053-97/+95
| | | | | | | | | | | | Currently, builtin-commit.c contains most code producing the short-status output, whereas wt-status.c contains most of the code for the long format. Refactor so that most of the long and short format producing code resides in wt-status.c and is named analogously. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* t7508-status.sh: Add tests for status -sMichael J Gruber2009-11-271-0/+166
| | | | | | | | The new short status has been completely untested so far. Introduce tests by duplicating all tests which are present for the long format. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* status -s: respect the status.relativePaths optionMichael J Gruber2009-11-262-2/+4
| | | | | | | | | Otherwise, 'status' and 'status -s' in a subdir would produce different names. This change is all the more important because status.relativePaths is on by default. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* docs: note that status configuration affects only long formatJeff King2009-09-051-5/+5
| | | | | | | | The short format does not respect any of the usual status.* configuration. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* commit: support alternate status formatsJeff King2009-09-052-7/+46
| | | | | | | | | | | | | The status command recently grew "short" and "porcelain" options for alternate output formats. Since status is no longer "commit --dry-run", these formats are inaccessible to people who do want to see a dry-run in a parseable form. This patch makes those formats available to "git commit", implying the "dry-run" option when they are used. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* status: add --porcelain output formatJeff King2009-09-052-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | The "short" format was added to "git status" recently to provide a less verbose way of looking at the same information. This has two practical uses: 1. Users who want a more dense display of the information. 2. Scripts which want to parse the information and need a stable, easy-to-parse interface. For now, the "--short" format covers both of those uses. However, as time goes on, users of (1) may want additional format tweaks, or for "git status" to change its behavior based on configuration variables. Those wishes will be at odds with (2), which wants to stability for scripts. This patch introduces a separate --porcelain option early to avoid problems later on. Right now the --short and --porcelain outputs are identical. However, as time goes on, we will have the freedom to customize --short for human consumption while keeping --porcelain stable. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* status: refactor format option parsingJeff King2009-09-051-7/+14
| | | | | | | This makes it possible to have more than two formats. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* status: refactor short-mode printing to its own functionJeff King2009-09-051-20/+25
| | | | | | | We want to be able to call it from multiple places. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* status: typo fix in usageJeff King2009-09-051-1/+1
| | | | | Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git status: not "commit --dry-run" anymoreJunio C Hamano2009-08-229-50/+89
| | | | | | | | | | | | | | | This removes tentative "git stat" and make it take over "git status". There are some tests that expect "git status" to exit with non-zero status when there is something staged. Some tests expect "git status path..." to show the status for a partial commit. For these, replace "git status" with "git commit --dry-run". For the ones that do not attempt a dry-run of a partial commit that check the output from the command, check the output from "git status" as well, as they should be identical. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git stat -s: short status outputJunio C Hamano2009-08-221-8/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Give -s(hort) option to "git stat" that shows the status of paths in a more concise way. XY PATH1 -> PATH2 format to be more machine readable than output from "git status", which is about previewing of "git commit" with the same arguments. PATH1 is the path in the HEAD, and " -> PATH2" part is shown only when PATH1 corresponds to a different path in the index/worktree. For unmerged entries, X shows the status of stage #2 (i.e. ours) and Y shows the status of stage #3 (i.e. theirs). For entries that do not have conflicts, X shows the status of the index, and Y shows the status of the work tree. For untracked paths, XY are "??". X Y Meaning ------------------------------------------------- [MD] not updated M [ MD] updated in index A [ MD] added to index D [ MD] deleted from index R [ MD] renamed in index C [ MD] copied in index [MARC] index and work tree matches [ MARC] M work tree changed since index [ MARC] D deleted in work tree D D unmerged, both deleted A U unmerged, added by us U D unmerged, deleted by them U A unmerged, added by them D U unmerged, deleted by us A A unmerged, both added U U unmerged, both modified ? ? untracked When given -z option, the records are terminated by NUL characters for better machine readability. Because the traditional long format is designed for human consumption, NUL termination does not make sense. For this reason, -z option implies -s (short output). Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git stat: the beginning of "status that is not a dry-run of commit"Junio C Hamano2009-08-226-14/+75
| | | | | | | | | | | Tentatively add "git stat" as a new command. This is not "preview of commit with the same arguments"; the path parameters are not paths to be added to the pristine index (aka "--only" option), but are taken as pathspecs to limit the output. Later in 1.7.0 release, it will take over "git status". Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git commit --dry-run -v: show diff in color when askedJunio C Hamano2009-08-151-2/+4
| | | | | | | The earlier implementation of --dry-run didn't duplicate the use of color "git status -v" set up for diff output. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Documentation/git-commit.txt: describe --dry-runJunio C Hamano2009-08-151-4/+9
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* wt-status: collect untracked files in a separate "collect" phaseJunio C Hamano2009-08-102-23/+38
| | | | | | In a way similar to updated and locally modified files are collected. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Make git_status_config() file scope static to builtin-commit.cJunio C Hamano2009-08-103-61/+60
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* wt-status: move wt_status_colors[] into wt_status structureJunio C Hamano2009-08-102-5/+8
| | | | | | | | The benefit of this one alone is somewhat iffy, but for completeness this moves the wt_status_colors[] color palette to the wt_status structure to complete the libification started by the previous commit. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* wt-status: move many global settings to wt_status structureJunio C Hamano2009-08-103-84/+93
| | | | | | | | | | | Turn four global variables (wt_status_use_color, show_tracked_files, wt_status_relative_paths, and wt_status_submodule_summary) into fields of wt_status structure. They can also lose "wt_status_" prefix. Get rid of "untracked" field that was used only to keep track of otherwise available information redundantly. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* commit: --dry-runJunio C Hamano2009-08-072-14/+22
| | | | | | | | | | This teaches --dry-run option to "git commit". It is the same as "git status", but in the longer term we would want to change the semantics of "git status" not to be the preview of commit, and this is the first step for doing so. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* status: show worktree status of conflicted paths separatelyJunio C Hamano2009-08-063-3/+120
| | | | | | | | | | | | | | | | | | | | When a path is unmerged in the index, we used to always say "unmerged" in the "Changed but not updated" section, even when the path was deleted in the work tree. Remove unmerged entries from the "Updated" section, and create a new section "Unmerged paths". Describe how the different stages conflict in more detail in this new section. Note that with the current 3-way merge policy (with or without recursive), certain combinations of index stages should never happen. For example, having only stage #2 means that a path that did not exist in the common ancestor was added by us while the other branch did not do anything to it, which would have autoresolved to take our addition. The code nevertheless prepares for the possibility that future merge policies may leave a path in such a state. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* wt-status.c: rework the way changes to the index and work tree are summarizedJunio C Hamano2009-08-063-50/+199
| | | | | | | | | | | Introduce a new infrastructure to find and summarize changes in a single string list, and rewrite wt_status_print_{updated,changed} functions using it. The goal of this change is to give more information on conflicted paths in the status output. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* diff-index: keep the original index intactJunio C Hamano2009-08-051-18/+0
| | | | | | | | | | | | | | | When comparing the index and a tree, we used to read the contents of the tree into stage #1 of the index and compared them with stage #0. In order not to lose sight of entries originally unmerged in the index, we hoisted them to stage #3 before reading the tree. Commit d1f2d7e (Make run_diff_index() use unpack_trees(), not read_tree(), 2008-01-19) changed all this. These days, we instead use unpack_trees() API to traverse the tree and compare the contents with the index, without modifying the index at all. There is no reason to hoist the unmerged entries to stage #3 anymore. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* diff-index: report unmerged new entriesJunio C Hamano2009-08-052-2/+33
| | | | | | | | Since an earlier change to diff-index by d1f2d7e (Make run_diff_index() use unpack_trees(), not read_tree(), 2008-01-19), we stopped reporting an unmerged path that does not exist in the tree, but we should. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Fix typos on pt_BR/gittutorial.txt translationAndré Goddard Rosa2009-07-311-73/+69
| | | | | | | | | With extra fixes from Thadeu and Carlos as well. Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Carlos R. Mafra <crmafra2@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Documentation: git-send-email: correct statement about standard portsWesley J. Landaker2009-07-311-2/+3
| | | | | | | | | | | | | | | | | The current documentation states that servers typically listen on port 465 and calls this "ssmtp". While it's true that many mail servers use port 465 for SSL smtp, this is non-standard, and hails from the days before smtp and submission TLS support, that arrived in RFC2487 and RFC3207. Port 465 is actually assigned by IANA for unrelated purposes, and is mostly still used by mail servers today only to support Outlook Express. In any case, this patch helps the documentation better reflect both standards and reality, while still helpfully mentioning ports numbers that a user may wish to specify. Signed-off-by: Wesley J. Landaker <wjl@icecavern.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Documentation: git-send-email: fix submission port numberWesley J. Landaker2009-07-311-1/+1
| | | | | | | | | The current documentation confuses non-standard SSL smtp port 465 with submission port 587 (RFC 4406). This patch just changes the referenced number. Signed-off-by: Wesley J. Landaker <wjl@icecavern.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git fast-export: add --no-data optionGeoffrey Irving2009-07-312-1/+16
| | | | | | | | | | | | When using git fast-export and git fast-import to rewrite the history of a repository with large binary files, almost all of the time is spent dealing with blobs. This is extremely inefficient if all we want to do is rewrite the commits and tree structure. --no-data skips the output of blobs and writes SHA-1s instead of marks, which provides a massive speedup. Signed-off-by: Geoffrey Irving <irving@naml.us> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* parse-opt: optionally show "--no-" option stringJohannes Schindelin2009-07-312-2/+8
| | | | | | | | | | | It is usually better to have positive options, to avoid confusing double negations. However, sometimes it is desirable to show the negative option in the help. Introduce the flag PARSE_OPT_NEGHELP to do that. Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Translate the tutorial to Brazillian PortugueseThadeu Lima de Souza Cascardo2009-07-291-0/+679
| | | | | Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* request-pull: optionally show a patch as wellJunio C Hamano2009-07-291-2/+22
| | | | | | | | | Allow git request-pull to append diff body into the pull request. It's useful for small series of commits. Tested-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Merge branch 'hv/cvsps-tests'Junio C Hamano2009-07-2928-33/+1627
|\ | | | | | | | | | | | | | | | | | | | | | | * hv/cvsps-tests: t/t9600: remove exit after test_done cvsimport: extend testcase about patchset order to contain branches cvsimport: add test illustrating a bug in cvsps Add a test of "git cvsimport"'s handling of tags and branches Add some tests of git-cvsimport's handling of vendor branches Test contents of entire cvsimported "master" tree contents Use CVS's -f option if available (ignore user's ~/.cvsrc file) Start a library for cvsimport-related tests
| * t/t9600: remove exit after test_doneJunio C Hamano2009-04-051-3/+0
| | | | | | | | | | | | This cherry-picks part of 5dba35912474770d0df45ed801d78c4c9ed5e949 Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * cvsimport: extend testcase about patchset order to contain branchesHeiko Voigt2009-03-204-11/+103
| | | | | | | | | | | | | | | | | | | | | | This makes sure that timestamps and ordering on branches is not influenced by a fix for cvsps. The test extension does not deal which patchset correction on branches it only verifes that branches are basically handled as before. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * cvsimport: add test illustrating a bug in cvspsHeiko Voigt2009-03-204-0/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some cvs repositories may have time deviations in their recorded commits. This is a test for one of such cases. These kind of repositories can happen if the system time of cvs clients is not fully synchronised. Consider the following sequence of events: * client A commits file a r1.1 * client A commits file a r1.2, b r1.1 * client B commits file b r1.2 using the same timestamp as a r1.1 This can be resolved but due to cvsps ordering its patchsets solely based on the timestamp. It only takes revision odering into account if there is no difference in the timestamp. I hit this bug when importing from a real repository which was originally converted from another rcs based scm. Other import tools can handle this correctly, e.g. parsecvs. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Add a test of "git cvsimport"'s handling of tags and branchesMichael Haggerty2009-02-2312-0/+921
| | | | | | | | | | | | | | | | | | | | 6 out of 11 of these tests fail. The test CVS repository used for these tests is derived from one in cvs2svn's test suite. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Add some tests of git-cvsimport's handling of vendor branchesMichael Haggerty2009-02-239-0/+413
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CVS's handling of vendor branches is tricky; add some tests to check whether revisions added via "cvs imports" then imported to git via "git cvsimport" are reflected correctly on master. One of these tests fail and is therefore marked "test_expect_failure". Cvsimport doesn't realize that subsequent changes on a vendor branch affect master as long as the vendor branch is the default branch. The test CVS repository used for these tests is derived from cvs2svn's test suite. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Test contents of entire cvsimported "master" tree contentsMichael Haggerty2009-02-232-0/+46
| | | | | | | | | | | | | | Test added for completeness (it passes). Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Use CVS's -f option if available (ignore user's ~/.cvsrc file)Michael Haggerty2009-02-232-8/+11
| | | | | | | | | | | | | | | | | | A user's ~/.cvsrc file can change the basic behavior of CVS commands. Therefore we should ignore it in order to ensure consistent results from the test suite. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * Start a library for cvsimport-related testsMichael Haggerty2009-02-232-28/+32
| | | | | | | | | | | | | | | | For now the library just includes code (moved from t/t9600-cvsimport.sh) that checks whether the prerequisites for "git cvsimport" are installed. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Add a reminder test case for a merge with F/D transitionAlex Riesen2009-07-291-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that if a file was replaced with a directory containing another file with the same content and mode, an attempt to merge it with a branch descended from a commit before this F->D transition will cause merge-recursive to break. It breaks even if there were no conflicting changes on that other branch. Originally reported by Anders Melchiorsen. Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Start 1.6.5 cycleJunio C Hamano2009-07-293-2/+53
| | | | | | | | | | | | | | | | The next major release will be 1.6.5, hopefully with a shorter cycle than the 1.6.4 cycle. After that in 1.7.0 we can make potentially backward incompatible changes if necessary. Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | GIT 1.6.4v1.6.4Junio C Hamano2009-07-293-7/+15
| | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | Sync with 1.6.3.4Junio C Hamano2009-07-293-2/+39
|\ \ | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | GIT 1.6.3.4v1.6.3.4Junio C Hamano2009-07-283-2/+38
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | config.txt: document add.ignore-errorsStephen Boyd2009-07-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Use the description of "--ignore-errors" from git-add.txt as inspiration. Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>