We should specify a working directory to ShellExecute for the
following reason. ShellExecute uses the current working
directory if not told otherwise. html.c did not override this
default. Therefore the current working directory was in use as
long as the browser displaying the HTML help was open. As long
as a directory is in use, it can't be deleted.
This commit changes help.c to avoid this problem. The HTML
browser is launched in the root directory "\\".
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
More work is needed in mingw before the output of
git-upload-pack is identical to the output on Unix.
This commit disables verification of the output.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
msysgit learnt to handle more tests. This commit enables
some tests that were disabled before and reverts some
workarounds that are no longer needed.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
A git program can be invoked using with such a full path name:
C:\Src\mingw-git\t\trash/..\..\git-fetch-pack.exe
i.e. it can contain both types of path separators. We must pick the one
that comes last.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
If the worktree happened to have a file called HEAD, "diff-index --cached HEAD"
would complain about the ambiguity between revision and path. Avoid it by
using an explicit "--" for disambiguation.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
[PATCH] rebase -i: move help to end of todo file
Many editors start in the first line, so the 9-line help text was an
annoyance. So move it to the end.
Requested by Junio.
While at it, add a hint how to abort the rebase.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
When creating a bundle, symbolic refs used to be resolved to the
non-symbolic refs they point to before being written to the list
of contained refs. I.e. "git bundle create a1.bundle HEAD master"
would show something like
388afe7881b33102fada216dd07806728773c011 refs/heads/master
388afe7881b33102fada216dd07806728773c011 refs/heads/master
instead of
388afe7881b33102fada216dd07806728773c011 HEAD
388afe7881b33102fada216dd07806728773c011 refs/heads/master
Introduce a special handling so that the symbolic refs are listed
with the names passed on the command line.
Noticed by Santi Béjar.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Except that this fixes a longstanding corner case bug by
tightening the way underlying diff-index command is run, it is
functionally equivalent to the scripted version.
Signed-off-by: Thomas Harning Jr <harningt@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Split patch_update_cmd into two functions, one to prompt the user for
a path to patch and another to do the actual work given that file path.
This lays the groundwork for a future commit which will teach
git-add--interactive to accept a path parameter and jump directly to
the patch subcommand for that path, bypassing the interactive prompt.
Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
When using git-send-email with SMTP authentication sending a patch series
would redundantly authenticate multiple times, once for each patch. In
the worst case, this would actually prevent the series from being sent
because the server would reply with a "5.5.0 Already Authenticated"
status code which would derail the process.
This commit teaches git-send-email to authenticate once and only once at
the beginning of the series.
Signed-off-by: Wincent Colaiuta <win@wincent.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
* git://git.bogomips.org/git-svn:
git-svn: allow `info' command to work offline
git-svn: info --url [path]
git-svn info: implement info command
git-svn: extract reusable code into utility functions
t9106: fix a race condition that caused svn to miss modifications
663af3422a (Full rework of
quote_c_style and write_name_quoted.) mistakenly used puts()
when writing out a fixed string when it did not want to add a
terminating LF.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Cache the repository root whenever we connect to the repository.
This will allow us to notice URL changes if the user changes the
URL in .git/config, too.
If the repository is no longer accessible, or if `git svn info'
is the first and only command run; then '(offline)' will be
displayed for "Repository Root:" in the output.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
Return the svn URL for the given path, or return the svn
repository URL if no path is given.
Added 18 tests to t/t9119-git-svn-info.sh.
Signed-off-by: David D. Kilzer <ddkilzer@kilzer.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
Implement "git-svn info" for files and directories based on the
"svn info" command. Note that the -r/--revision argument is not
supported yet.
Added 18 tests in t/t9119-git-svn-info.sh.
[ew: small fix to work without arguments on all working directories]
Signed-off-by: David D. Kilzer <ddkilzer@kilzer.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
Extacted canonicalize_path() in the main package.
Created new Git::SVN::Util package with an md5sum() function. A
new package was created so that Digest::MD5 did not have to be
loaded in the main package. Replaced code in the SVN::Git::Editor
and SVN::Git::Fetcher packages with calls to md5sum().
Extracted the format_svn_date(), parse_git_date() and
set_local_timezone() functions within the Git::SVN::Log package.
Signed-off-by: David D. Kilzer <ddkilzer@kilzer.net>
Acked-by: Eric Wong <normalperson@yhbt.net>
gethostbyname() is the first function that calls into the Winsock library,
and it is wrapped only to initialize the library.
socket() is wrapped for two reasons:
- Windows's socket() creates things that are like low-level file handles,
and they must be converted into file descriptors first.
- And these handles cannot be used with plain ReadFile()/WriteFile()
because they are opened for "overlapped IO". We have to use WSASocket()
to create non-overlapped IO sockets.
connect() must be wrapped because Windows's connect() expects the low-level
sockets, not file descriptors, and we must first unwrap the file descriptor
before we can pass it on to Windows's connect().
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
On Windows, ntohl() returns unsinged long. On Unix it returns
uint32_t. This makes choosing a suitable printf format string
hard.
This commit introduces a mingw specific helper function
git_ntohl() that casts to unsigned int before returning. This
makes gcc's printf format check happy. It should be safe because
we expect ntohl to use 32-bit numbers.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
This commits reverts printf format strings to the
original version from Juion's git. This is a
preparation for the mingw specific fix that follows
in the next commit.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
read_in_full()'s is used in compat/pread.c. read_in_full() is
declared in cache.h. But we can't include cache.h because too
many macros are defined there. Using read_in_full() without
including cache.h is dangerous because we wouldn't recognize if
its prototyp changed. gcc issues a warning about that.
This commit adds a forward decl to git-compat-util.h.
git-compat-util.h is included by compat/pread.c _and_ cache.h.
Hence, changes in cache.h would be detected.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Merge commit 53009e47c2
introduced an if() statement that is not present in
mingw's master.
This commit changes the code to match mingw's master.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
This changes the prototypes to match
http://www.opengroup.org/onlinepubs/7990989775/xsh/exec.html
Note, spawnvpe uses a different type for argv and envp
than execve. So at some point we need to cast. This
commit shifts the cast into the compat functions. From
the outside, execve and execvp match Posix.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
There were some references to the progress indicator, where this
implementation originally appeared.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
* git://repo.or.cz/git-gui: (96 commits)
git-gui 0.9.0
git-gui: Bind Meta-T for "Stage To Commit" menu action
git-gui: Allow users to set font weights to bold
git-gui: Update Japanese strings (part 2)
git-gui: Update Japanese strings
Updated russian translation of git-gui
po2msg: actually output statistics
po2msg: ignore untranslated messages
po2msg: ignore entries marked with "fuzzy"
git-gui: Protect against bad translation strings
git-gui: Make sure we get errors from git-update-index
More updates and corrections to the russian translation of git-gui
Updated Russian translation.
git-gui: Update German translation
git-gui: Add more terms to glossary.
git-gui: Paper bag fix the global config parsing
git-gui: Honor a config.mak in git-gui's top level
git-gui: Collapse $env(HOME) to ~/ in recent repositories on Windows
git-gui: Support cloning Cygwin based work-dirs
git-gui: Use proper Windows shortcuts instead of bat files
...
Because this function is static and used only by the
http-walker, when NO_CURL is defined, gcc emits a "defined
but not used" warning.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
We add the content-type header only when we have non-7bit
characters from the 'From' header, so we really need to
specify the encoding (in other cases, where the commit text
needed a content-type, git-format-patch will already have
added the encoding header).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
On Windows, ntohl() returns unsinged long. On Unix it returns
uint32_t. This makes choosing a suitable printf format string
hard.
This commit introduces a mingw specific helper function
git_ntohl() that casts to unsigned int before returning. This
makes gcc's printf format check happy. It should be safe because
we expect ntohl to use 32-bit numbers.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
read_in_full()'s is used in compat/pread.c. read_in_full() is
declared in cache.h. But we can't include cache.h because too
many macros are defined there. Using read_in_full() without
including cache.h is dangerous because we wouldn't recognize if
its prototyp changed. gcc issues a warning about that.
This commit adds a forward decl to git-compat-util.h.
git-compat-util.h is included by compat/pread.c _and_ cache.h.
Hence, changes in cache.h would be detected.
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
In general, we don't add unnecessary braces. But in this case
gcc warns about them. So this commit adds a few braces.
The commit suppresses warnings about unitialized variables
by initializing them to NULL.
The change of bcmp_translate()'s parameter declaration is needed
to avoid warnings about "discards qualifiers from pointer target
type".
[sp: split original commit; more detailed commit message. ]
Signed-off-by: Dmitry Kakurin <Dmitry.Kakurin@gmail.com>
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
When declaring a structure with a flexible array member, instead
of defaulting to the c99 syntax for non-gnu compilers (which
burned people with older compilers), default to the traditional
and more portable "member[1]; /* more */" syntax.
At the same time, other c99 compilers should be able to take
advantage of the modern syntax to flexible array members without
being gcc. Check __STDC_VERSION__ for that.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This will make progress display from pack-objects (invoked via
upload-pack) more responsive on platforms with an implementation
of stdio whose stderr is line buffered.
The standard error stream is defined to be merely "not fully
buffered"; this is different from "unbuffered". If the
implementation of the stdio library chooses to make it line
buffered, progress reports that end with CR but do not contain
LF will accumulate in the stdio buffer before written out. A
fflush() after each progress display gives a nice continuous
progress.
Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>