In Access Geändertes committen
Sie bringen die in Access vorgenommenen Änderungen in einem Schritt nach git oder svn.
Lösungsüberblick
wkl-office changes zeigt, was nicht auf demselben Stand ist, und für jede Zeile den nächsten Schritt;
wkl-office diff zeigt den vollständigen Unterschied einer Zeile. wkl-office commit prüft den Stand erneut,
exportiert die Datenbank, übergibt die Projektdatei, ihre .gitignore und den Quellordner an den
Versionsverwaltungsclient im PATH und committet sie. Ob git oder svn verwendet wird, entscheidet die nächstgelegene
Arbeitskopie oberhalb des Projekts.
Umsetzung
wkl-office changes Kunden.acproj wkl-office diff Kunden.acproj form:frmKunden --part code wkl-office commit Kunden.acproj -m "Kundenformular: Feld Telefon" wkl-office commit Kunden.acproj -m "Nur das Kundenformular" source/forms/frmKunden.form.txt wkl-office push Kunden.acproj
Der Ablauf lautet: in Access speichern → prüfen (changes) → exportieren → Unterschiede durchsehen → committen →
pushen. Das Add-In bietet dieselben Schritte in Access an (Access-Add-In verwenden):
Commit… auf der Registerkarte Änderungen öffnet den Commit-Dialog.
Der Commit-Dialog: Nachricht und Auswahl der Dateien; eine abgewählte Datei bleibt für einen späteren Commit geändert.
Hinweise
- Der Commit wird abgelehnt (Exitcode 7, nichts wird geschrieben), solange eine außerhalb von Access geänderte Quelle auf
importwartet, ein auf beiden Seiten geändertes Objekt auf eine Entscheidung wartet, die Versionsverwaltung einen Mergekonflikt meldet oder die Prüfung fehlgeschlagen ist. - Der Export übernimmt die Datenbank aus dem Access, das sie geöffnet hat, und lehnt ab, solange dort etwas nicht gespeichert ist; er nennt es.
- Dateien, die der Export entfernt hat (in Access gelöschte Objekte), werden auch in der Versionsverwaltung gelöscht.
- Kennwörter.
commithält ein Kennwort nicht auf, das nur in der Datenbank steht: Seine Prüfung läuft vor dem Export auf den Quellen, und der Export schreibt Abfragen, Module, Formulare und Berichte so, wie sie sind (entfernt werden nur die Kennwörter in den Verbindungszeilen des Linked Tables Managers). Führen Siewkl-office exportundwkl-office checkaus und sehen Sie die Unterschiede durch, bevor Sie committen; ist ein Kennwort einmal committet, ändern Sie es auf dem Server. - Was git erhält. Der Commit führt
git add --all -- <paths>undgit commit -m <message> -- <paths>aus; dabei sind<paths>die Projektdatei, ihre.gitignoreund das Quellstammverzeichnis oder die Dateien, die Sie nennen. Jede Datei unterhalb des Quellstammverzeichnisses, die git nicht ignoriert, wird committet, auch eine, die Sie nicht mit dem SDK angelegt haben; der gesamte Inhalt eines Pfads wird committet, auch wenn Sie nur Teile davon zum Commit vorgemerkt haben; andere vorgemerkte Dateien des Repositorys bleiben vorgemerkt. Schlägtgit commitfehl (ein Hook, eine fehlende Benutzeridentität), bleiben die exportierten Dateien zum Commit vorgemerkt.pushführtgit pushohne Argumente aus. - Subversion (Vorschau) funktioniert über
svn.exeim PATH fürchanges,diff(gegen die BASE-Revision) undcommit; fürpushgibt es nichts zu tun. Verwenden Sie für die produktive Arbeit git: Die Unterstützung für Subversion ist in diesem Release eine Vorschau. - Andere Dateien der Arbeitskopie werden nicht angetastet: Sie können Arbeit enthalten, die nicht in diesen Commit gehört.
- Gepusht wird nicht; die Veröffentlichung bleibt die Entscheidung des Entwicklers. Subversion committet naturgemäß direkt auf seinen Server.
- Entsprechen die Quellen dem committeten Stand, wird nichts committet, und der Befehl meldet das.
- Um nur einige Dateien zu committen, nennen Sie sie nach dem Projekt (relativ zum Projektordner) oder wählen Sie die übrigen im Commit-Dialog des Add-Ins ab. Prüfung und Export umfassen trotzdem jedes Objekt; die nicht ausgewählten Dateien bleiben für einen späteren Commit geändert. Nur Dateien des Projekts lassen sich auswählen.