From aed2d433193a53074c3cca859c4eaceaf48833b5 Mon Sep 17 00:00:00 2001 From: Hoeglinger Eugen Date: Wed, 2 Mar 2022 07:28:07 +0100 Subject: [PATCH] Initialize MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Zwei Methoden zum Ermitteln des Startup Verzeichnisses: - Über Windows Forms - Über Konsole --- .vs/StartupPath/v17/.suo | Bin 0 -> 23552 bytes .vs/Test_StartupPath/v17/.suo | Bin 0 -> 53248 bytes HEAD | 1 + Test_StartupPath.sln | 25 +++ Test_StartupPath/App.config | 6 + Test_StartupPath/Form1.Designer.cs | 61 ++++++ Test_StartupPath/Form1.cs | 124 +++++++++++++ Test_StartupPath/Form1.resx | 120 ++++++++++++ Test_StartupPath/Program.cs | 22 +++ Test_StartupPath/Properties/AssemblyInfo.cs | 36 ++++ .../Properties/Resources.Designer.cs | 71 +++++++ Test_StartupPath/Properties/Resources.resx | 117 ++++++++++++ .../Properties/Settings.Designer.cs | 30 +++ Test_StartupPath/Properties/Settings.settings | 7 + Test_StartupPath/Test_StartupPath.csproj | 83 +++++++++ Test_StartupPath/bin/Debug/StartupPath.exe | Bin 0 -> 10752 bytes .../bin/Debug/StartupPath.exe.config | 6 + Test_StartupPath/bin/Debug/StartupPath.pdb | Bin 0 -> 28160 bytes .../bin/Debug/Test_StartupPath.exe | Bin 0 -> 10752 bytes .../bin/Debug/Test_StartupPath.exe.config | 6 + .../bin/Debug/Test_StartupPath.pdb | Bin 0 -> 28160 bytes ...ework,Version=v4.7.2.AssemblyAttributes.cs | 4 + .../DesignTimeResolveAssemblyReferences.cache | Bin 0 -> 2117 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 7335 bytes .../obj/Debug/StartupPath.Form1.resources | Bin 0 -> 180 bytes ...StartupPath.Properties.Resources.resources | Bin 0 -> 180 bytes ...StartupPath.csproj.AssemblyReference.cache | Bin 0 -> 6030 bytes ...StartupPath.csproj.CoreCompileInputs.cache | 1 + .../StartupPath.csproj.FileListAbsolute.txt | 11 ++ .../StartupPath.csproj.GenerateResource.cache | Bin 0 -> 126 bytes ...ath.csproj.SuggestedBindingRedirects.cache | 0 Test_StartupPath/obj/Debug/StartupPath.exe | Bin 0 -> 10752 bytes Test_StartupPath/obj/Debug/StartupPath.pdb | Bin 0 -> 28160 bytes ...StartupPath.Properties.Resources.resources | Bin 0 -> 180 bytes ...StartupPath.csproj.AssemblyReference.cache | Bin 0 -> 6030 bytes ...StartupPath.csproj.CoreCompileInputs.cache | 1 + ...st_StartupPath.csproj.FileListAbsolute.txt | 11 ++ ..._StartupPath.csproj.GenerateResource.cache | Bin 0 -> 54 bytes ...ath.csproj.SuggestedBindingRedirects.cache | 0 .../obj/Debug/Test_StartupPath.exe | Bin 0 -> 10752 bytes .../obj/Debug/Test_StartupPath.pdb | Bin 0 -> 28160 bytes config | 9 + description | 1 + hooks/applypatch-msg.sample | 15 ++ hooks/commit-msg.sample | 24 +++ hooks/fsmonitor-watchman.sample | 173 ++++++++++++++++++ hooks/post-update.sample | 8 + hooks/pre-applypatch.sample | 14 ++ hooks/pre-commit.sample | 49 +++++ hooks/pre-merge-commit.sample | 13 ++ hooks/pre-push.sample | 53 ++++++ hooks/pre-rebase.sample | 169 +++++++++++++++++ hooks/pre-receive.sample | 24 +++ hooks/prepare-commit-msg.sample | 42 +++++ hooks/push-to-checkout.sample | 78 ++++++++ hooks/update.sample | 128 +++++++++++++ info/exclude | 6 + 57 files changed, 1549 insertions(+) create mode 100644 .vs/StartupPath/v17/.suo create mode 100644 .vs/Test_StartupPath/v17/.suo create mode 100644 HEAD create mode 100644 Test_StartupPath.sln create mode 100644 Test_StartupPath/App.config create mode 100644 Test_StartupPath/Form1.Designer.cs create mode 100644 Test_StartupPath/Form1.cs create mode 100644 Test_StartupPath/Form1.resx create mode 100644 Test_StartupPath/Program.cs create mode 100644 Test_StartupPath/Properties/AssemblyInfo.cs create mode 100644 Test_StartupPath/Properties/Resources.Designer.cs create mode 100644 Test_StartupPath/Properties/Resources.resx create mode 100644 Test_StartupPath/Properties/Settings.Designer.cs create mode 100644 Test_StartupPath/Properties/Settings.settings create mode 100644 Test_StartupPath/Test_StartupPath.csproj create mode 100644 Test_StartupPath/bin/Debug/StartupPath.exe create mode 100644 Test_StartupPath/bin/Debug/StartupPath.exe.config create mode 100644 Test_StartupPath/bin/Debug/StartupPath.pdb create mode 100644 Test_StartupPath/bin/Debug/Test_StartupPath.exe create mode 100644 Test_StartupPath/bin/Debug/Test_StartupPath.exe.config create mode 100644 Test_StartupPath/bin/Debug/Test_StartupPath.pdb create mode 100644 Test_StartupPath/obj/Debug/.NETFramework,Version=v4.7.2.AssemblyAttributes.cs create mode 100644 Test_StartupPath/obj/Debug/DesignTimeResolveAssemblyReferences.cache create mode 100644 Test_StartupPath/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 Test_StartupPath/obj/Debug/StartupPath.Form1.resources create mode 100644 Test_StartupPath/obj/Debug/StartupPath.Properties.Resources.resources create mode 100644 Test_StartupPath/obj/Debug/StartupPath.csproj.AssemblyReference.cache create mode 100644 Test_StartupPath/obj/Debug/StartupPath.csproj.CoreCompileInputs.cache create mode 100644 Test_StartupPath/obj/Debug/StartupPath.csproj.FileListAbsolute.txt create mode 100644 Test_StartupPath/obj/Debug/StartupPath.csproj.GenerateResource.cache create mode 100644 Test_StartupPath/obj/Debug/StartupPath.csproj.SuggestedBindingRedirects.cache create mode 100644 Test_StartupPath/obj/Debug/StartupPath.exe create mode 100644 Test_StartupPath/obj/Debug/StartupPath.pdb create mode 100644 Test_StartupPath/obj/Debug/Test_StartupPath.Properties.Resources.resources create mode 100644 Test_StartupPath/obj/Debug/Test_StartupPath.csproj.AssemblyReference.cache create mode 100644 Test_StartupPath/obj/Debug/Test_StartupPath.csproj.CoreCompileInputs.cache create mode 100644 Test_StartupPath/obj/Debug/Test_StartupPath.csproj.FileListAbsolute.txt create mode 100644 Test_StartupPath/obj/Debug/Test_StartupPath.csproj.GenerateResource.cache create mode 100644 Test_StartupPath/obj/Debug/Test_StartupPath.csproj.SuggestedBindingRedirects.cache create mode 100644 Test_StartupPath/obj/Debug/Test_StartupPath.exe create mode 100644 Test_StartupPath/obj/Debug/Test_StartupPath.pdb create mode 100644 config create mode 100644 description create mode 100644 hooks/applypatch-msg.sample create mode 100644 hooks/commit-msg.sample create mode 100644 hooks/fsmonitor-watchman.sample create mode 100644 hooks/post-update.sample create mode 100644 hooks/pre-applypatch.sample create mode 100644 hooks/pre-commit.sample create mode 100644 hooks/pre-merge-commit.sample create mode 100644 hooks/pre-push.sample create mode 100644 hooks/pre-rebase.sample create mode 100644 hooks/pre-receive.sample create mode 100644 hooks/prepare-commit-msg.sample create mode 100644 hooks/push-to-checkout.sample create mode 100644 hooks/update.sample create mode 100644 info/exclude diff --git a/.vs/StartupPath/v17/.suo b/.vs/StartupPath/v17/.suo new file mode 100644 index 0000000000000000000000000000000000000000..a0a9a6b6c6da701bb03c0ed6dada786033eb5de4 GIT binary patch literal 23552 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 d3j93q#Z9~W->;RqTxk|x*AqIKw*yhC{|D + + + + + \ No newline at end of file diff --git a/Test_StartupPath/Form1.Designer.cs b/Test_StartupPath/Form1.Designer.cs new file mode 100644 index 0000000..ce5f49b --- /dev/null +++ b/Test_StartupPath/Form1.Designer.cs @@ -0,0 +1,61 @@ +namespace StartupPath +{ + partial class Form1 + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(13, 13); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(16, 13); + this.label1.TabIndex = 0; + this.label1.Text = "..."; + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.label1); + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + } +} + diff --git a/Test_StartupPath/Form1.cs b/Test_StartupPath/Form1.cs new file mode 100644 index 0000000..ada7a5f --- /dev/null +++ b/Test_StartupPath/Form1.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace StartupPath +{ + public partial class Form1 : Form + { + #region Version und Copyright + // Version und Copyright + string programName = Path.GetFileNameWithoutExtension(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); //Den Programmnamen auslesen + string programVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); + static object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false); + string copyright = GenerateCopyright(); + string icon = Application.StartupPath + "\\Info.bmp"; + + //Assembly Datum und Zeit + static DateTime value = AssemblyDateTime(); + string date = value.ToShortDateString(); + string time = value.ToLongTimeString(); + + private static DateTime AssemblyDateTime() + { + var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; + var buildDateTime = new DateTime(2000, 1, 1).Add(new TimeSpan(TimeSpan.TicksPerDay * version.Build + TimeSpan.TicksPerSecond * 2 * version.Revision)); + //Tage seit dem 1. Januar 2000 und Sekunden seit Mitternacht, (multiplizier mit 2 ergibt das Original) + return buildDateTime; + } + + private static string CurrentYear() + { + DateTime dtn = DateTime.Now; + return dtn.Year.ToString(); + } + + private static string StartYear() + { + string startYear = ""; + if (((AssemblyCopyrightAttribute)attributes[0]).Copyright.Contains("Copyright © ")) + { + startYear = ((AssemblyCopyrightAttribute)attributes[0]).Copyright.Replace("Copyright © ", ""); + while (startYear.StartsWith(" ")) + { + startYear = startYear.Remove(0, 1); + } + + if (startYear.Contains("-")) + { + startYear = startYear.Remove(startYear.IndexOf("-")); + } + else + { + startYear = startYear.Remove(startYear.IndexOf(" ")); + } + return startYear; + } + else + { + DateTime dtn = DateTime.Now; + return dtn.Year.ToString(); + } + } + + private static string GenerateCopyright() + { + string startYear = StartYear(); + string currentYear = CurrentYear(); + + if (startYear == currentYear) + { + return ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + } + else + { + string temp = ((AssemblyCopyrightAttribute)attributes[0]).Copyright; + string start = temp.Remove(temp.IndexOf(startYear) - 1); + string end = (temp.Remove(0, temp.IndexOf(" by"))); + + return String.Concat(start, " ", startYear, "-", currentYear, end); + } + } + #endregion + + #region Programm-Info + /// + /// Contains the name of the program file + /// + public static string ProgramName { set; get; } + + /// + /// Contains the version of the program file + /// + public static string ProgramVersion { set; get; } + + /// + /// Contains the copyright notice + /// + public static string Copyright { set; get; } + + private void SetProgramInfo() + { + //Name, Version und Copyright setzen + ProgramName = programName; + ProgramVersion = programVersion; + Copyright = copyright; + } + #endregion + public Form1() + { + SetProgramInfo(); + InitializeComponent(); + + label1.Text = "Application.StartupPath: " + Application.StartupPath.ToString() + "\nPath.GetDirectoryName: " + Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); + } + } +} diff --git a/Test_StartupPath/Form1.resx b/Test_StartupPath/Form1.resx new file mode 100644 index 0000000..29dcb1b --- /dev/null +++ b/Test_StartupPath/Form1.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Test_StartupPath/Program.cs b/Test_StartupPath/Program.cs new file mode 100644 index 0000000..3d6eaaf --- /dev/null +++ b/Test_StartupPath/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace StartupPath +{ + internal static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/Test_StartupPath/Properties/AssemblyInfo.cs b/Test_StartupPath/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..bc0ac75 --- /dev/null +++ b/Test_StartupPath/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("Test_StartupPath")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Test_StartupPath")] +[assembly: AssemblyCopyright("Copyright © 2022 by Eugen Höglinger")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("1cf61f16-c679-4135-8aac-8fdbc313da13")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// indem Sie "*" wie unten gezeigt eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.*")] +//[assembly: AssemblyFileVersion("1.0.0.0")] //Wenn auskommentiert, dann gleich wie AssemblyVersion! diff --git a/Test_StartupPath/Properties/Resources.Designer.cs b/Test_StartupPath/Properties/Resources.Designer.cs new file mode 100644 index 0000000..b3b5e30 --- /dev/null +++ b/Test_StartupPath/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion: 4.0.30319.42000 +// +// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn +// der Code neu generiert wird. +// +//------------------------------------------------------------------------------ + +namespace StartupPath.Properties +{ + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse + // über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("StartupPath.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Test_StartupPath/Properties/Resources.resx b/Test_StartupPath/Properties/Resources.resx new file mode 100644 index 0000000..ffecec8 --- /dev/null +++ b/Test_StartupPath/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Test_StartupPath/Properties/Settings.Designer.cs b/Test_StartupPath/Properties/Settings.Designer.cs new file mode 100644 index 0000000..6987551 --- /dev/null +++ b/Test_StartupPath/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace StartupPath.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Test_StartupPath/Properties/Settings.settings b/Test_StartupPath/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/Test_StartupPath/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Test_StartupPath/Test_StartupPath.csproj b/Test_StartupPath/Test_StartupPath.csproj new file mode 100644 index 0000000..5e30caa --- /dev/null +++ b/Test_StartupPath/Test_StartupPath.csproj @@ -0,0 +1,83 @@ + + + + + Debug + AnyCPU + {1CF61F16-C679-4135-8AAC-8FDBC313DA13} + WinExe + Test_StartupPath + Test_StartupPath + v4.7.2 + 512 + true + false + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + \ No newline at end of file diff --git a/Test_StartupPath/bin/Debug/StartupPath.exe b/Test_StartupPath/bin/Debug/StartupPath.exe new file mode 100644 index 0000000000000000000000000000000000000000..79f5dd8009ae7a9655d9bc8123e544dca391b89b GIT binary patch literal 10752 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 literal 0 HcmV?d00001 diff --git a/Test_StartupPath/bin/Debug/StartupPath.exe.config b/Test_StartupPath/bin/Debug/StartupPath.exe.config new file mode 100644 index 0000000..5754728 --- /dev/null +++ b/Test_StartupPath/bin/Debug/StartupPath.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Test_StartupPath/bin/Debug/StartupPath.pdb b/Test_StartupPath/bin/Debug/StartupPath.pdb new file mode 100644 index 0000000000000000000000000000000000000000..5ddc16fa5002691a55520b9a1b821b7864056da2 GIT binary patch literal 28160 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 H=z;$QtEUz? literal 0 HcmV?d00001 diff --git a/Test_StartupPath/bin/Debug/Test_StartupPath.exe.config b/Test_StartupPath/bin/Debug/Test_StartupPath.exe.config new file mode 100644 index 0000000..5754728 --- /dev/null +++ b/Test_StartupPath/bin/Debug/Test_StartupPath.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Test_StartupPath/bin/Debug/Test_StartupPath.pdb b/Test_StartupPath/bin/Debug/Test_StartupPath.pdb new file mode 100644 index 0000000000000000000000000000000000000000..07dcb2621f9ea063ee52450b69a4cec18b87b7d3 GIT binary patch literal 28160 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 +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] diff --git a/Test_StartupPath/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Test_StartupPath/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000000000000000000000000000000000000..2d8a026efcacbedbd2103c9e5ffd50885a0a5131 GIT binary patch literal 2117 zcmcgs%TB^T6zxPM1boEAjXRc_=mdrMU}Ff#PGi8RizcL$+h)Q%$V?Go!`ii9;2*d% zeh7Pa{)TNSDlHq*;;iP*ot%5_xsMb|X_|(NN=d(w!j=Zh)d&TZ+j}}Y+1Kk}fdp3EhUY{Ksmth zJ>hN9SGeYKRC7|wctRqSo@R|!y^QA^GzuPl6*QD~&G(^xw_E&t_B}4jW)QS0jXvS_ zLRfDX&C&KaQ<`FJ1y~I*dy+VVSYVj|?19mRaKZ_uCOEM$vH_QhkPr)K=Ld*e#O_JM zA%ZW27}k8FY?`1HX%QM%@$G7&caX>2E z5JopfB(M8sr?a`t>5Q(J6^}qt^O$^xBr`}+m91r}Tm?mJ9$kLnQrk-z zyDGE_eG`}Zio&tM-ly1Dp|Z|&G_4#|71NubL_OzqPe@i^H43iS@RWx2byn9@{Qd2N zn(CTEAM%@3Jh|3>aaP6wJC(k&%mSCp(n4~k#(Y~-S!PsP2U}DhsImH$h7n(i8h8k; z8keljm6napgcKO28M<&96kT-21(eAvT_1$UkC=RRb8~?!-=PfzygIQJXfw@;TT)m| zDIr&3^<0BZ5OS?4%q|6<<}PbZxvHt@B{dZ&R$?_KnFp$hQn;Y>5HvlI?bgsOq>uCy zl1TJ}>`Nw-1U?`WeSZ#?8%i@5!V~t_(im{YTjnvzE#o~n>tlX*_m&}WBDSd$ur12v z$JuCTSxfHKvl&-eLOQ(KIb-wx`-m+r(gkbbb$)qnp5>O7_p-OG2R8 zkwP(yVg$r6xeqcyMnM$LN-gH}rVK>-gi2;cWY;t{*DDc+%pT7hi^goWO+j09bN%$3 zJOE99B;UO;fuq!cs=6F`i}{x8S35vjOUxIF1FvhC7m2#LUs*3#%nIGz+X6)Ilm>rxjpOC8mUP9MRStvO>ZHdeF6U`hSRtU_#u-hj1%s;HhBp5 z1BUH5WGcL4r!0*dg&rfA9UOGiYv6uJKQz#1v&^&xqNWVs{oxIn2DI&NqOJPAVTI`n znE~B=E!zJ~n7L$LoG!h7X-3rnnps`jypwbV0`5546EO2dF z8^SyR7&{i2h<8gCB0UA9<2aEDR8s>5#6>3o4Y9wB+sY6dk3a^H4r8^F`HpC~%+sM| z&j4>fPCPW~D*&m-2~v<0o+b6rqOSq$AWpDNrj2)6H;>tKKy%|n+u@!qPLxp;(p8~> z-vFc)C*-fL69Ro3w&^=SRV0d z%y~kLmvA#sggST<^Pey&y11AmCPdd-)0iRQmBuUy*Gql?F?F_fV`2WBWTAKb>>c+s z<}FyG-GIY$PF_L#^jYQRs&nI<7|`FH#Op`UGis@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/Test_StartupPath/obj/Debug/StartupPath.Properties.Resources.resources b/Test_StartupPath/obj/Debug/StartupPath.Properties.Resources.resources new file mode 100644 index 0000000000000000000000000000000000000000..6c05a9776bd7cbae976fdcec7e3a254e93018279 GIT binary patch literal 180 zcmX?i>is@O1_p+SK%5g?SzMBus~417oL^d$oLUTL1*ImYq!#HYR*8GxXUf^%t3Noi54ZC+|=Nl{{sjzU0bQch;FcWPxwes*e}ZIZcpqG__J onW3ezNveT`r81^vrFkWpxv4PQgHubGfR2KJ07n-P+5+SQ04Y>DD*ylh literal 0 HcmV?d00001 diff --git a/Test_StartupPath/obj/Debug/StartupPath.csproj.AssemblyReference.cache b/Test_StartupPath/obj/Debug/StartupPath.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..5e916013423cd0f669bcc60cae76639483cd28f2 GIT binary patch literal 6030 zcmeHL&2G~`5cUcvAuXT+LaM|eN04AuXvI%2sLGExK!oZFI9RGS&L&xEuhZR4()7|Z zXP$sJ;D&gR-nsD_>^k0nV_z(f5eIUJvUW5(JKy)s?93Y4a2yAb=AQRfL__i1BaN*eY8My2#iAv4^|u!{4jvE`Elec%k$o z5wITa2LVEQALr+n?~guT)SP&MuIMKlJQ5-6bAov=UN;Lq@c;PTH^1XQ@xgKY!Y<-B zsIK?g#yi_Pk6$?GsFGv2bE#;UbBIeObO_b#IniZv#+(m2PaekSc2G?(znyvSwswDf zir;7}cam+I5g)MOL=eRyUdZCtmq+KD7xg`Bv7T7`5C(uK`s$sgzhCk9Za}lA;m5gj0EhgI0e$sA+)|Em7pbD%yM8_B?nqW z5p2F(s@kWDa;c>ta~NUt2F3^*E35hmPSB({f>VQIw z(2Yc7tvM$l^9yk&owKt#>sJDob=c@ETbr*zstN)rs9b$JIrpI;ToT_DSXl_I)%1EZ zG1#4iI%WIijKN<3?k4Wpy3!>6i1A^eBc}-pR#6bzN}OwRMa5V!Np;zqGM^TUV%oo~ zfIe0#AUY1Bc}Tg+k_%i>DCfh)Ow&f62=9UH1G(7G}P;MdyKdZ~4R%zd7h6*{b ZfzH<;V1v4++EfhErdeYEH}MSYzW|%RF4h15 literal 0 HcmV?d00001 diff --git a/Test_StartupPath/obj/Debug/StartupPath.csproj.CoreCompileInputs.cache b/Test_StartupPath/obj/Debug/StartupPath.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..bfe380c --- /dev/null +++ b/Test_StartupPath/obj/Debug/StartupPath.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +8069502011d0681850e57a53d5a1673222f430a6 diff --git a/Test_StartupPath/obj/Debug/StartupPath.csproj.FileListAbsolute.txt b/Test_StartupPath/obj/Debug/StartupPath.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..9404c33 --- /dev/null +++ b/Test_StartupPath/obj/Debug/StartupPath.csproj.FileListAbsolute.txt @@ -0,0 +1,11 @@ +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\bin\Debug\StartupPath.exe.config +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\bin\Debug\StartupPath.exe +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\bin\Debug\StartupPath.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\obj\Debug\StartupPath.csproj.AssemblyReference.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\obj\Debug\StartupPath.csproj.SuggestedBindingRedirects.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\obj\Debug\StartupPath.Form1.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\obj\Debug\StartupPath.Properties.Resources.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\obj\Debug\StartupPath.csproj.GenerateResource.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\obj\Debug\StartupPath.csproj.CoreCompileInputs.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\obj\Debug\StartupPath.exe +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\StartupPath\StartupPath\obj\Debug\StartupPath.pdb diff --git a/Test_StartupPath/obj/Debug/StartupPath.csproj.GenerateResource.cache b/Test_StartupPath/obj/Debug/StartupPath.csproj.GenerateResource.cache new file mode 100644 index 0000000000000000000000000000000000000000..795c46026e81a3cb40b9e37fd3fd492937b51aa1 GIT binary patch literal 126 zcmZQ$WMW`oVB~VkFUmF4D@rY{UM%?lsa|E{V8bQnf*}?z-zHKCQ literal 0 HcmV?d00001 diff --git a/Test_StartupPath/obj/Debug/StartupPath.csproj.SuggestedBindingRedirects.cache b/Test_StartupPath/obj/Debug/StartupPath.csproj.SuggestedBindingRedirects.cache new file mode 100644 index 0000000..e69de29 diff --git a/Test_StartupPath/obj/Debug/StartupPath.exe b/Test_StartupPath/obj/Debug/StartupPath.exe new file mode 100644 index 0000000000000000000000000000000000000000..79f5dd8009ae7a9655d9bc8123e544dca391b89b GIT binary patch literal 10752 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 literal 0 HcmV?d00001 diff --git a/Test_StartupPath/obj/Debug/StartupPath.pdb b/Test_StartupPath/obj/Debug/StartupPath.pdb new file mode 100644 index 0000000000000000000000000000000000000000..5ddc16fa5002691a55520b9a1b821b7864056da2 GIT binary patch literal 28160 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 literal 0 HcmV?d00001 diff --git a/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.AssemblyReference.cache b/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.AssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..5e916013423cd0f669bcc60cae76639483cd28f2 GIT binary patch literal 6030 zcmeHL&2G~`5cUcvAuXT+LaM|eN04AuXvI%2sLGExK!oZFI9RGS&L&xEuhZR4()7|Z zXP$sJ;D&gR-nsD_>^k0nV_z(f5eIUJvUW5(JKy)s?93Y4a2yAb=AQRfL__i1BaN*eY8My2#iAv4^|u!{4jvE`Elec%k$o z5wITa2LVEQALr+n?~guT)SP&MuIMKlJQ5-6bAov=UN;Lq@c;PTH^1XQ@xgKY!Y<-B zsIK?g#yi_Pk6$?GsFGv2bE#;UbBIeObO_b#IniZv#+(m2PaekSc2G?(znyvSwswDf zir;7}cam+I5g)MOL=eRyUdZCtmq+KD7xg`Bv7T7`5C(uK`s$sgzhCk9Za}lA;m5gj0EhgI0e$sA+)|Em7pbD%yM8_B?nqW z5p2F(s@kWDa;c>ta~NUt2F3^*E35hmPSB({f>VQIw z(2Yc7tvM$l^9yk&owKt#>sJDob=c@ETbr*zstN)rs9b$JIrpI;ToT_DSXl_I)%1EZ zG1#4iI%WIijKN<3?k4Wpy3!>6i1A^eBc}-pR#6bzN}OwRMa5V!Np;zqGM^TUV%oo~ zfIe0#AUY1Bc}Tg+k_%i>DCfh)Ow&f62=9UH1G(7G}P;MdyKdZ~4R%zd7h6*{b ZfzH<;V1v4++EfhErdeYEH}MSYzW|%RF4h15 literal 0 HcmV?d00001 diff --git a/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.CoreCompileInputs.cache b/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..bfe380c --- /dev/null +++ b/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +8069502011d0681850e57a53d5a1673222f430a6 diff --git a/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.FileListAbsolute.txt b/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..6cf7bb0 --- /dev/null +++ b/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.FileListAbsolute.txt @@ -0,0 +1,11 @@ +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\bin\Debug\Test_StartupPath.exe.config +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\bin\Debug\Test_StartupPath.exe +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\bin\Debug\Test_StartupPath.pdb +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\obj\Debug\Test_StartupPath.csproj.AssemblyReference.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\obj\Debug\Test_StartupPath.csproj.SuggestedBindingRedirects.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\obj\Debug\StartupPath.Form1.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\obj\Debug\Test_StartupPath.Properties.Resources.resources +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\obj\Debug\Test_StartupPath.csproj.GenerateResource.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\obj\Debug\Test_StartupPath.csproj.CoreCompileInputs.cache +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\obj\Debug\Test_StartupPath.exe +H:\Programmieren\Git-WorkRepository\VisualStudio\_TEST\Test_StartupPath.git\Test_StartupPath\obj\Debug\Test_StartupPath.pdb diff --git a/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.GenerateResource.cache b/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.GenerateResource.cache new file mode 100644 index 0000000000000000000000000000000000000000..fd220b1ffe4057cb64cbba26be64b36ed8458be4 GIT binary patch literal 54 scmZQ$WMp7qVB~VkFUmF4D@rY{0P#@-n1K9E=M&E7{=UfpR?WZw05eSthX4Qo literal 0 HcmV?d00001 diff --git a/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.SuggestedBindingRedirects.cache b/Test_StartupPath/obj/Debug/Test_StartupPath.csproj.SuggestedBindingRedirects.cache new file mode 100644 index 0000000..e69de29 diff --git a/Test_StartupPath/obj/Debug/Test_StartupPath.exe b/Test_StartupPath/obj/Debug/Test_StartupPath.exe new file mode 100644 index 0000000000000000000000000000000000000000..7cdf836bbd8cdd52c94715b4cb2b27cc6e27e7e0 GIT binary patch literal 10752 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 H=z;$QtEUz? literal 0 HcmV?d00001 diff --git a/Test_StartupPath/obj/Debug/Test_StartupPath.pdb b/Test_StartupPath/obj/Debug/Test_StartupPath.pdb new file mode 100644 index 0000000000000000000000000000000000000000..07dcb2621f9ea063ee52450b69a4cec18b87b7d3 GIT binary patch literal 28160 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\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/hooks/fsmonitor-watchman.sample b/hooks/fsmonitor-watchman.sample new file mode 100644 index 0000000..14ed0aa --- /dev/null +++ b/hooks/fsmonitor-watchman.sample @@ -0,0 +1,173 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use IPC::Open2; + +# An example hook script to integrate Watchman +# (https://facebook.github.io/watchman/) with git to speed up detecting +# new and modified files. +# +# The hook is passed a version (currently 2) and last update token +# formatted as a string and outputs to stdout a new update token and +# all files that have been modified since the update token. Paths must +# be relative to the root of the working tree and separated by a single NUL. +# +# To enable this hook, rename this file to "query-watchman" and set +# 'git config core.fsmonitor .git/hooks/query-watchman' +# +my ($version, $last_update_token) = @ARGV; + +# Uncomment for debugging +# print STDERR "$0 $version $last_update_token\n"; + +# Check the hook interface version +if ($version ne 2) { + die "Unsupported query-fsmonitor hook version '$version'.\n" . + "Falling back to scanning...\n"; +} + +my $git_work_tree = get_working_dir(); + +my $retry = 1; + +my $json_pkg; +eval { + require JSON::XS; + $json_pkg = "JSON::XS"; + 1; +} or do { + require JSON::PP; + $json_pkg = "JSON::PP"; +}; + +launch_watchman(); + +sub launch_watchman { + my $o = watchman_query(); + if (is_work_tree_watched($o)) { + output_result($o->{clock}, @{$o->{files}}); + } +} + +sub output_result { + my ($clockid, @files) = @_; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # binmode $fh, ":utf8"; + # print $fh "$clockid\n@files\n"; + # close $fh; + + binmode STDOUT, ":utf8"; + print $clockid; + print "\0"; + local $, = "\0"; + print @files; +} + +sub watchman_clock { + my $response = qx/watchman clock "$git_work_tree"/; + die "Failed to get clock id on '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + + return $json_pkg->new->utf8->decode($response); +} + +sub watchman_query { + my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') + or die "open2() failed: $!\n" . + "Falling back to scanning...\n"; + + # In the query expression below we're asking for names of files that + # changed since $last_update_token but not from the .git folder. + # + # To accomplish this, we're using the "since" generator to use the + # recency index to select candidate nodes and "fields" to limit the + # output to file names only. Then we're using the "expression" term to + # further constrain the results. + if (substr($last_update_token, 0, 1) eq "c") { + $last_update_token = "\"$last_update_token\""; + } + my $query = <<" END"; + ["query", "$git_work_tree", { + "since": $last_update_token, + "fields": ["name"], + "expression": ["not", ["dirname", ".git"]] + }] + END + + # Uncomment for debugging the watchman query + # open (my $fh, ">", ".git/watchman-query.json"); + # print $fh $query; + # close $fh; + + print CHLD_IN $query; + close CHLD_IN; + my $response = do {local $/; }; + + # Uncomment for debugging the watch response + # open ($fh, ">", ".git/watchman-response.json"); + # print $fh $response; + # close $fh; + + die "Watchman: command returned no output.\n" . + "Falling back to scanning...\n" if $response eq ""; + die "Watchman: command returned invalid output: $response\n" . + "Falling back to scanning...\n" unless $response =~ /^\{/; + + return $json_pkg->new->utf8->decode($response); +} + +sub is_work_tree_watched { + my ($output) = @_; + my $error = $output->{error}; + if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { + $retry--; + my $response = qx/watchman watch "$git_work_tree"/; + die "Failed to make watchman watch '$git_work_tree'.\n" . + "Falling back to scanning...\n" if $? != 0; + $output = $json_pkg->new->utf8->decode($response); + $error = $output->{error}; + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + # Uncomment for debugging watchman output + # open (my $fh, ">", ".git/watchman-output.out"); + # close $fh; + + # Watchman will always return all files on the first query so + # return the fast "everything is dirty" flag to git and do the + # Watchman query just to get it over with now so we won't pay + # the cost in git to look up each individual file. + my $o = watchman_clock(); + $error = $output->{error}; + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + output_result($o->{clock}, ("/")); + $last_update_token = $o->{clock}; + + eval { launch_watchman() }; + return 0; + } + + die "Watchman: $error.\n" . + "Falling back to scanning...\n" if $error; + + return 1; +} + +sub get_working_dir { + my $working_dir; + if ($^O =~ 'msys' || $^O =~ 'cygwin') { + $working_dir = Win32::GetCwd(); + $working_dir =~ tr/\\/\//; + } else { + require Cwd; + $working_dir = Cwd::cwd(); + } + + return $working_dir; +} diff --git a/hooks/post-update.sample b/hooks/post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/hooks/pre-applypatch.sample b/hooks/pre-applypatch.sample new file mode 100644 index 0000000..4142082 --- /dev/null +++ b/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +precommit="$(git rev-parse --git-path hooks/pre-commit)" +test -x "$precommit" && exec "$precommit" ${1+"$@"} +: diff --git a/hooks/pre-commit.sample b/hooks/pre-commit.sample new file mode 100644 index 0000000..e144712 --- /dev/null +++ b/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=$(git hash-object -t tree /dev/null) +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config --type=bool hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/hooks/pre-merge-commit.sample b/hooks/pre-merge-commit.sample new file mode 100644 index 0000000..399eab1 --- /dev/null +++ b/hooks/pre-merge-commit.sample @@ -0,0 +1,13 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git merge" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message to +# stderr if it wants to stop the merge commit. +# +# To enable this hook, rename this file to "pre-merge-commit". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" +: diff --git a/hooks/pre-push.sample b/hooks/pre-push.sample new file mode 100644 index 0000000..4ce688d --- /dev/null +++ b/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/hooks/pre-rebase.sample b/hooks/pre-rebase.sample new file mode 100644 index 0000000..6cbef5c --- /dev/null +++ b/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up to date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +<<\DOC_END + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". + +DOC_END diff --git a/hooks/pre-receive.sample b/hooks/pre-receive.sample new file mode 100644 index 0000000..a1fd29e --- /dev/null +++ b/hooks/pre-receive.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to make use of push options. +# The example simply echoes all push options that start with 'echoback=' +# and rejects all pushes when the "reject" push option is used. +# +# To enable this hook, rename this file to "pre-receive". + +if test -n "$GIT_PUSH_OPTION_COUNT" +then + i=0 + while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" + do + eval "value=\$GIT_PUSH_OPTION_$i" + case "$value" in + echoback=*) + echo "echo from the pre-receive-hook: ${value#*=}" >&2 + ;; + reject) + exit 1 + esac + i=$((i + 1)) + done +fi diff --git a/hooks/prepare-commit-msg.sample b/hooks/prepare-commit-msg.sample new file mode 100644 index 0000000..10fa14c --- /dev/null +++ b/hooks/prepare-commit-msg.sample @@ -0,0 +1,42 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first one removes the +# "# Please enter the commit message..." help message. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +COMMIT_MSG_FILE=$1 +COMMIT_SOURCE=$2 +SHA1=$3 + +/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" + +# case "$COMMIT_SOURCE,$SHA1" in +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; +# *) ;; +# esac + +# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" +# if test -z "$COMMIT_SOURCE" +# then +# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" +# fi diff --git a/hooks/push-to-checkout.sample b/hooks/push-to-checkout.sample new file mode 100644 index 0000000..af5a0c0 --- /dev/null +++ b/hooks/push-to-checkout.sample @@ -0,0 +1,78 @@ +#!/bin/sh + +# An example hook script to update a checked-out tree on a git push. +# +# This hook is invoked by git-receive-pack(1) when it reacts to git +# push and updates reference(s) in its repository, and when the push +# tries to update the branch that is currently checked out and the +# receive.denyCurrentBranch configuration variable is set to +# updateInstead. +# +# By default, such a push is refused if the working tree and the index +# of the remote repository has any difference from the currently +# checked out commit; when both the working tree and the index match +# the current commit, they are updated to match the newly pushed tip +# of the branch. This hook is to be used to override the default +# behaviour; however the code below reimplements the default behaviour +# as a starting point for convenient modification. +# +# The hook receives the commit with which the tip of the current +# branch is going to be updated: +commit=$1 + +# It can exit with a non-zero status to refuse the push (when it does +# so, it must not modify the index or the working tree). +die () { + echo >&2 "$*" + exit 1 +} + +# Or it can make any necessary changes to the working tree and to the +# index to bring them to the desired state when the tip of the current +# branch is updated to the new commit, and exit with a zero status. +# +# For example, the hook can simply run git read-tree -u -m HEAD "$1" +# in order to emulate git fetch that is run in the reverse direction +# with git push, as the two-tree form of git read-tree -u -m is +# essentially the same as git switch or git checkout that switches +# branches while keeping the local changes in the working tree that do +# not interfere with the difference between the branches. + +# The below is a more-or-less exact translation to shell of the C code +# for the default behaviour for git's push-to-checkout hook defined in +# the push_to_deploy() function in builtin/receive-pack.c. +# +# Note that the hook will be executed from the repository directory, +# not from the working tree, so if you want to perform operations on +# the working tree, you will have to adapt your code accordingly, e.g. +# by adding "cd .." or using relative paths. + +if ! git update-index -q --ignore-submodules --refresh +then + die "Up-to-date check failed" +fi + +if ! git diff-files --quiet --ignore-submodules -- +then + die "Working directory has unstaged changes" +fi + +# This is a rough translation of: +# +# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX +if git cat-file -e HEAD 2>/dev/null +then + head=HEAD +else + head=$(git hash-object -t tree --stdin &2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --type=bool hooks.allowunannotated) +allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) +denycreatebranch=$(git config --type=bool hooks.denycreatebranch) +allowdeletetag=$(git config --type=bool hooks.allowdeletetag) +allowmodifytag=$(git config --type=bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero=$(git hash-object --stdin &2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/info/exclude b/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~