Mercurial > hg
view contrib/win32/mercurial.iss @ 13155:f02d7a562a21
subrepo: avoids empty commit when .hgsubstate is dirty (issue2403)
This patch avoids empty commit when .hgsubstate is dirty. Empty commit
was caused by .hgsubstate being updated back to the state of the
working copy parent when committing, if a user had changed it manually
and not made any changes in subrepositories.
The subrepository state from the working copies parent is compared
with the state calculated as a result of trying to commit the
subrepositories. If the two states are the same, then return None
otherwise the commit is just done.
The line: "committing subrepository x" will be written if there is
nothing committed, but .hgsubstate is dirty for x subrepository.
author | Erik Zielke <ez@aragost.com> |
---|---|
date | Mon, 29 Nov 2010 09:37:23 +0100 |
parents | 5f19416056b4 |
children | a01c52b08c5f |
line wrap: on
line source
; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #ifndef VERSION #define FileHandle #define FileLine #define VERSION = "unknown" #if FileHandle = FileOpen(SourcePath + "\..\..\mercurial\__version__.py") #expr FileLine = FileRead(FileHandle) #expr FileLine = FileRead(FileHandle) #define VERSION = Copy(FileLine, Pos('"', FileLine)+1, Len(FileLine)-Pos('"', FileLine)-1) #endif #if FileHandle #expr FileClose(FileHandle) #endif #pragma message "Detected Version: " + VERSION #endif #ifndef ARCH #define ARCH = "x86" #endif [Setup] AppCopyright=Copyright 2005-2010 Matt Mackall and others AppName=Mercurial #if ARCH == "x64" AppVerName=Mercurial {#VERSION} (64-bit) OutputBaseFilename=Mercurial-{#VERSION}-x64 ArchitecturesAllowed=x64 ArchitecturesInstallIn64BitMode=x64 #else AppVerName=Mercurial {#VERSION} OutputBaseFilename=Mercurial-{#VERSION} #endif InfoAfterFile=contrib/win32/postinstall.txt LicenseFile=COPYING ShowLanguageDialog=yes AppPublisher=Matt Mackall and others AppPublisherURL=http://mercurial.selenic.com/ AppSupportURL=http://mercurial.selenic.com/ AppUpdatesURL=http://mercurial.selenic.com/ AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3} AppContact=mercurial@selenic.com DefaultDirName={pf}\Mercurial SourceDir=..\.. VersionInfoDescription=Mercurial distributed SCM (version {#VERSION}) VersionInfoCopyright=Copyright 2005-2010 Matt Mackall and others VersionInfoCompany=Matt Mackall and others InternalCompressLevel=max SolidCompression=true SetupIconFile=contrib\win32\mercurial.ico AllowNoIcons=true DefaultGroupName=Mercurial PrivilegesRequired=none [Files] Source: contrib\mercurial.el; DestDir: {app}/Contrib Source: contrib\vim\*.*; DestDir: {app}/Contrib/Vim Source: contrib\zsh_completion; DestDir: {app}/Contrib Source: contrib\bash_completion; DestDir: {app}/Contrib Source: contrib\tcsh_completion; DestDir: {app}/Contrib Source: contrib\tcsh_completion_build.sh; DestDir: {app}/Contrib Source: contrib\hgk; DestDir: {app}/Contrib; DestName: hgk.tcl Source: contrib\xml.rnc; DestDir: {app}/Contrib Source: contrib\shrink-revlog.py; DestDir: {app}/Contrib Source: contrib\mercurial.el; DestDir: {app}/Contrib Source: contrib\mq.el; DestDir: {app}/Contrib Source: contrib\hgweb.fcgi; DestDir: {app}/Contrib Source: contrib\hgweb.wsgi; DestDir: {app}/Contrib Source: contrib\win32\ReadMe.html; DestDir: {app}; Flags: isreadme Source: contrib\mergetools.hgrc; DestDir: {tmp}; Source: contrib\win32\mercurial.ini; DestDir: {app}; DestName: Mercurial.ini; Check: CheckFile; AfterInstall: ConcatenateFiles; Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local') #if ARCH == "x64" Source: dist\*.dll; Destdir: {app} Source: dist\*.pyd; Destdir: {app} #else Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist Source: dist\w9xpopen.exe; DestDir: {app} #endif Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist Source: dist\library.zip; DestDir: {app} Source: dist\add_path.exe; DestDir: {app} Source: doc\*.html; DestDir: {app}\Docs Source: doc\style.css; DestDir: {app}\Docs Source: mercurial\help\*.txt; DestDir: {app}\help Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist Source: mercurial\templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt Source: COPYING; DestDir: {app}; DestName: Copying.txt [INI] Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http://mercurial.selenic.com/ [UninstallDelete] Type: files; Name: {app}\Mercurial.url Type: files; Name: {app}\Contrib\shrink-revlog.pyc [Icons] Name: {group}\Uninstall Mercurial; Filename: {uninstallexe} Name: {group}\Mercurial Command Reference; Filename: {app}\Docs\hg.1.html Name: {group}\Mercurial Configuration Files; Filename: {app}\Docs\hgrc.5.html Name: {group}\Mercurial Ignore Files; Filename: {app}\Docs\hgignore.5.html Name: {group}\Mercurial Web Site; Filename: {app}\Mercurial.url [Run] Filename: "{app}\add_path.exe"; Parameters: "{app}"; Flags: postinstall; Description: "Add the installation path to the search path" [UninstallRun] Filename: "{app}\add_path.exe"; Parameters: "/del {app}" [UninstallDelete] Type: files; Name: "{app}\hg.exe.local" [Code] var WriteFile: Boolean; CheckDone: Boolean; function CheckFile(): Boolean; begin if not CheckDone then begin WriteFile := True; if FileExists(ExpandConstant(CurrentFileName)) then begin WriteFile := MsgBox('' + ExpandConstant(CurrentFileName) + '' #13#13 'The file already exists.' #13#13 'Would you like Setup to overwrite it?', mbConfirmation, MB_YESNO) = idYes; end; CheckDone := True; end; Result := WriteFile; end; procedure ConcatenateFiles(); var MergeConfigs: TArrayOfString; begin if LoadStringsFromFile(ExpandConstant('{tmp}\mergetools.hgrc'),MergeConfigs) then begin SaveStringsToFile(ExpandConstant(CurrentFileName),MergeConfigs,True); end; end; procedure Touch(fn: String); begin SaveStringToFile(ExpandConstant(fn), '', False); end;