Browse Source

UpdateAssemblyInfo: enable reading revision number from git-svn

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5925 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Daniel Grunwald 15 years ago
parent
commit
5d459455ca
  1. 48
      src/Tools/UpdateAssemblyInfo/Main.cs
  2. BIN
      src/Tools/UpdateAssemblyInfo/bin/Debug/UpdateAssemblyInfo.exe

48
src/Tools/UpdateAssemblyInfo/Main.cs

@ -193,24 +193,40 @@ namespace UpdateAssemblyInfo @@ -193,24 +193,40 @@ namespace UpdateAssemblyInfo
}
static void RetrieveRevisionNumber()
{
string oldWorkingDir = Environment.CurrentDirectory;
try {
// Change working dir so that the subversion libraries can be found
Environment.CurrentDirectory = Path.Combine(Environment.CurrentDirectory, subversionLibraryDir);
using (SvnClient client = new SvnClient()) {
client.Info(
oldWorkingDir,
(sender, info) => {
revisionNumber = info.Revision.ToString(CultureInfo.InvariantCulture);
});
if (Directory.Exists(".svn")) {
string oldWorkingDir = Environment.CurrentDirectory;
try {
// Change working dir so that the subversion libraries can be found
Environment.CurrentDirectory = Path.Combine(Environment.CurrentDirectory, subversionLibraryDir);
using (SvnClient client = new SvnClient()) {
client.Info(
oldWorkingDir,
(sender, info) => {
revisionNumber = info.Revision.ToString(CultureInfo.InvariantCulture);
});
}
} catch (Exception e) {
Console.WriteLine("Reading revision number with SharpSvn failed: " + e.ToString());
} finally {
Environment.CurrentDirectory = oldWorkingDir;
}
}
if (revisionNumber == null || revisionNumber.Length == 0 || revisionNumber == "0") {
if (Directory.Exists("..\\.git")) {
ProcessStartInfo info = new ProcessStartInfo("cmd", "/c git log HEAD~20..HEAD --no-color");
info.RedirectStandardOutput = true;
info.UseShellExecute = false;
using (Process p = Process.Start(info)) {
string output = p.StandardOutput.ReadToEnd();
var m = Regex.Match(output, @"git-svn-id:.*@(\d+) [0-9a-f]{8}-");
if (m.Success) {
revisionNumber = m.Groups[1].Value;
}
}
}
} catch (Exception e) {
Console.WriteLine("Reading revision number with SharpSvn failed: " + e.ToString());
} finally {
Environment.CurrentDirectory = oldWorkingDir;
}
if (revisionNumber == null || revisionNumber.Length == 0 || revisionNumber == "0") {
revisionNumber = ReadRevisionFromFile();
}

BIN
src/Tools/UpdateAssemblyInfo/bin/Debug/UpdateAssemblyInfo.exe

Binary file not shown.
Loading…
Cancel
Save