wie benutzt man svn, branch? etikett? kofferraum?
<p>ich habe ein bisschen gegoogelt und konnte keine gute anleitung für "anfänger" für <a href="http://en.wikipedia.org/wiki/subversion\_%28software%29"> svn </a> finden, nicht im sinne von "wie verwende ich die befehle?" " lieber; wie kontrolliere ich meinen quellcode?</p><p>was ich aufklären möchte, sind die folgenden themen:</p><ul> <li>wie oft legen sie fest? so oft man drücken würde <kbd>ctrl</kbd> + <kbd>s</kbd>?</li> <li>was ist ein branch und was ist ein tag und wie steuern sie sie?</li> <li>was geht in die svn? nur quellcode oder teilen sie hier auch andere dateien? (nicht als versionierte dateien angesehen.)</li> </ul><p>ich habe keine ahnung, was zweig und tag sind, daher kenne ich den zweck nicht, aber ich vermute, dass sie sachen in den kofferraum hochladen und wenn sie einen größeren build erstellen, verschieben sie sie in den zweig? was wird in diesem fall als wichtiger build angesehen?</p>
<p>das <a href="http://svnbook.red-bean.com/">subversion-buch</a> ist eine hervorragende informationsquelle für strategien zum anordnen ihres repositorys, zum verzweigen und zum markieren.</p><p>siehe auch:</p><p> <a href="https://stackoverflow.com/questions/35646/do-you-continue-development-in-a-branch-or-in-the-trunk">entwickeln sie sich in einer filiale oder im stamm weiter</a> </p><p> <a href="https://stackoverflow.com/questions/34975/branching-strategies">verzweigungsstrategien</a> </p>
Naja, der Quelltext von frei lizenzierter Software wird üblicherweise in einem Online-Quellcodeverwaltungssystem organisiert. Diese Verwaltungssysteme müssen von irgendjemandem gehostet werden, es gibt aber auch kostenlose Angebote wie SourceForge (Subversion) oder GitHub (git). Und von der dort eingesetzten Software hängt es dann auch mehr oder weniger ab, wie man idealerweise zwecks Beteiligung vorgeht. Bei SourceForge muss der Projekt-Administrator dem SourceForge-Account des Entwicklers Schreibberechtigung einrichten, damit letzterer, nachdem er mittels Subversion die aktuelle Fassung des Codes heruntergeladen und seine Änderungen vorgenommen hat, diese auch wieder ins Online-Repository hochladen kann. Bei GitHub klont man sich gleich den ganzen Code auf den eigenen GitHub-Account ("Fork" genannt), lädt sich mittels git die eigene Online-Kopie lokal herunter, ändert diese, lädt in den eigenen Fork hoch und hinterlegt dem Projekt-Administrator des Originals eine Benachrichtigung, dass dieser doch die Änderungen des Forks in die offizielle Version übernehmen soll. Es empfiehlt sich generell, über die Ticket-Systeme der Projekte die Arbeit an offenen Aufgaben abzusprechen oder für das eigene Anliegen ein neues Ticket zu öffnen, was vor allem bei SourceForge auch darum wichtig ist, um konfligierende Änderungen und das dadurch notwendige Merging möglichst zu vermeiden, sodass die "Bewerbung" bei GitHub-Projekten allgemein einfacher ist, weil man da erstmal unabhängig arbeiten kann.


Bei mir sieht das dann so aus:


<https://github.com/skreutzer>


ist aber nicht gerade als repräsentativ zu betrachten. Hallo Marco,


zu 1.) Der Befehl wechselt zur letzten Stable-Version (git tag -l listet alle Tags auf, das egrep schmeisst alle Einträge mit beta oder rc raus und das tail gibt davon den obersten Treffer zurück).


zu 1.1) Genau - das ist damit schon beantwortet.


zu 1.2) Du kannst es da lassen. Oder Du kannst auch das git clone unter /var/www ausführen. Wenn Du die Dateien unter /usr/local/src lässt, musst Du das aber beim Einrichten des apache berücksichtigen, sprich dort wo /var/www steht muss dann natürlich /usr/local/src hin.


zu 4.) Hierzu sollte man sich schon ein bisschen mit git auseinander setzen. Eigentlich wollte ich das im Forum erst nicht beantworten, da doch einiges schief gehen kann, wenn man git nicht kennt, vor Allem, wenn man eigene Änderungen gemacht hat.  

Aber eigentlich geht das dank git recht einfach und ich beschreibe das mal kurz - ohne Garantie:


Wenn Du das nach der Anleitung gemacht hast, dann hast Du lokal zwei Branches, einmal "master" und einmal "meine\_eigenen\_änderungen". Du solltest Dich eigentlich immer im Branch "meine\_eigenen\_änderungen" befinden. Deine eigenen Anpassungen (z.B. Druckvorlagen) solltest Du mit "git commit" einchecken.  

Zwischendurch kannst Du immer mal in den Master-Branch wechseln (aber dann nicht auf kivitendo via Webbrowser zugreifen), und zwar mit "git checkout master". Dann kannst Du mit "git pull" alle Änderungen aus dem Projekt-Repo holen. Master ist dann auf dem aktuellen Stand.  

Mit "git checkout meine\_eigenen\_änderungen" wechselst Du wieder zurück in Deinen Branch, der noch auf dem "alten" Stand ist. Das musst Du tun, wenn Du wieder auf kivitendo zugreifen willst.


Falls es eine neue Version gibt, und Du darauf umsteigen willst, oder Du auf eine neue Beta oder RC-Version (oder auch auf unstable) umsteigen willst, dann kannst Du mit "git rebase master" Deinen Branch auf den Stand des Masters heben.  

Wenn Du nur Änderungen an den Druckvorlagen gemacht hast, ist das in der Regel unproblematisch. Wenn Du Quelltexte angepasst hast, kannst Du Probleme bekommen. Das hier zu erläutern, sprengt den Rahmen.  

Vergiss auch nicht, auch immer die doc/UPGRADE-Datei und doc/changelog zu lesen.


Viele Grüße  

 Bernd <p>sie müssen die lizenz unter keinen umständen in der gui anzeigen.</p><p>für software, die unter der apache license version 2.0 (aplv2) lizenziert ist, ist es völlig in ordnung, die software auf die von ihnen vorgeschlagene weise zu ändern. diese lizenz fördert änderungen. die lizenz garantiert ihnen die freiheit, "powered by svg edit" in ihrer geänderten version zu entfernen.</p><p>informationen zu ihren verpflichtungen in bezug auf die mit der aplv2-software gelieferte notices-datei finden sie in aplv2 (abschnitt 4(b))). sie müssen den inhalt in einer weise anzeigen, die der software. (wohlgemerkt, svg edit erledigt dies wahrscheinlich bereits.) sie können das "powered by svg edit" möglicherweise nicht entfernen, wenn dies aus der notices-datei stammt. wenn sie jedoch die notices-datei und den quellcode verteilen, dann sind sie davon ausgenommen. weitere informationen zu ihren optionen finden sie in abschnitt 4(b) der aplv2).</p><p>in jedem fall ist das, was sie tun möchten, nicht unhöflich, insbesondere wenn dadurch ihre abgeleitete arbeit besser wird.</p> Dafür musst du den sog. Bogen Z1 in deiner Bank ausfüllen. Mit diesem Bogen kann man auch Auslandsüberweisungen machen. Du kannst die Währung angeben und die Auswahl "Scheck" treffen. Frag einfach eine Servicekraft in deiner Bank. <p>dies kann eine paginierung sein oder auch nicht, aber hier ist, wie ich paginierung in meiner web-app mache:</p><pre><code>|&lt; first, &lt;&lt; previous, page [5] of 12, next &gt;&gt;, last &gt;| </code></pre><p>die äußeren vier optionen sind links, während die <code>page [5] of 12</code> ist ein formular mit dem [5] als eingabefeld. für benutzer mit aktiviertem javascript verstecke ich die schaltfläche "senden" und sende das formular beim ereignis "unfokus" oder drücke den tastendruck. der benutzer hat die option, wie viele zeilen er anzeigen möchte, die er aus einem dropdown-menü auswählen kann: 10, 20, 50, 100, alle. zusätzlich zur paginierung biete ich auch das sortieren und filtern der ergebnisse an, obwohl dies möglicherweise nicht in jeder situation sinnvoll ist.</p><p><strong>bearbeiten</strong>:</p><p>hier ist ein ausschnitt aus einem modell unserer web-app, um ihnen eine bessere vorstellung zu geben. in dieser version wurden die wörter in den schaltflächen weggelassen, werden jedoch nach einer leichten verzögerung als tooltip beim hover angezeigt. möglicherweise stellen sie jedoch fest, dass das beibehalten der wörter zu einer höheren benutzerfreundlichkeit führt.</p><p><img src="https://i.stack.imgur.com/vzbu0.png" alt="virtuosi media&#39;s pagination example"></p><p>ein paar andere dinge, auf die sie hinweisen sollten:</p><ul> <li>die schaltflächen "erste" und "vorherige" wurden deaktiviert, da es sich um die erste seite handelt.</li> <li>das blau zeigt aktive schaltflächen an (ich muss dieses spezielle thema durch eine farbprüfung ausführen, um sicherzustellen, dass farbenblinde benutzer einen unterschied feststellen können).</li> <li>die tasten bleiben immer erhalten, auch wenn sie deaktiviert sind. dies gibt der schnittstelle konsistenz.</li> <li>aufgrund der skalierung habe ich ein eingabefeld anstelle eines dropdown-auswahlfelds ausgewählt. wenn sie 3000 seiten haben, möchten sie nicht nach unten scrollen, um eine seite zu finden</li> <li>die paginierung ist in einer singulären visuellen komponente gruppiert, um ähnlichkeit im zweck anzuzeigen.</li> </ul> <h2>aufgrund der empfehlungen in den kommentaren habe ich begonnen, <a href="http://tools.tortoisesvn.net/grepwin.html">grepwin</a> zu verwenden, und es ist fantastisch und <em> kostenlos</em>.</h2><hr><p>(ich bin immer noch ein fan von <a href="http://www.powergrep.com/">powergrep</a> , aber ich benutze es nicht mehr.)</p><p>ich weiß, dass sie es bereits erwähnt haben, aber powergrep ist <strong> fantastisch </strong>.</p><p>einige meiner lieblingsfunktionen sind:</p><ul> <li>klicken sie mit der rechten maustaste auf einen ordner, um powergrep darauf auszuführen</li> <li>verwenden sie reguläre ausdrücke oder wörtlichen text</li> <li>geben sie platzhalter für dateien an, die ein- und ausgeschlossen werden sollen</li> <li>suchen &amp; ersetzen</li> <li>der vorschaumodus ist gut, da sie sicherstellen können, dass sie das ersetzen, was sie beabsichtigen.</li> </ul><p>jetzt ist mir klar, dass die anderen grep-tools all das tun können. es ist nur so, dass powergrep alle funktionen in einer sehr benutzerfreundlichen benutzeroberfläche zusammenfasst.</p><p><strong> <em> von den gleichen wundervollen leuten, die sie mitgebracht haben <a href="http://en.wikipedia.org/wiki/regexbuddy">regexbuddy</a> und denen ich nichts mehr zu tun habe, als ihre sachen zu lieben.</em> </strong> (es sollte beachtet werden, dass regexbuddy eine basisversion von grep (für windows) selbst enthält und viel weniger kostet als powergrep.)</p><hr><h2>zusätzliche lösungen</h2><h3>vorhandene windows-befehle</h3><ul> <li> <a href="http://ss64.com/nt/findstr.html"> findstr </a> </li> <li> <a href="https://technet.microsoft.com/en-us/library/hh849903.aspx">auswahlzeichenfolge</a> in powershell</li> </ul><h3>linux-befehlsimplementierungen unter windows</h3><ul> <li> <a href="http://en.wikipedia.org/wiki/cygwin">cygwin</a> </li> <li> <a href="https://github.com/dthree/cash">bargeld</a> </li> </ul><h3>grep-tools mit grafischer oberfläche</h3><ul> <li> <a href="http://astrogrep.sourceforge.net/screenshots/">astrogrep</a> </li> <li> <a href="https://www.baremetalsoft.com/baregrep/">baregrep</a> </li> <li> <a href="http://stefanstools.sourceforge.net/grepwin.html">grepwin</a> </li> </ul><h3>zusätzliche grep-tools</h3><ul> <li> <a href="http://code.google.com/p/dngrep/">dngrep</a> </li> </ul> Liebe/r Dave209, wenn du bei einer Englischarbeit einen Text lesen musst, dann musst du ihn gaaanz sorgfältig (!) lesen. Überspringe AUF KEINEN FALL einen Absatz nur weil du schneller fertig werden willst. Du musst versuchen, dir die Texte im Kopf zu übersetzen, damit du den Inhalt besser verstehst. Viele Lehrer (Das kam beim mir auch schon öfters vor) Stellen eine Frage, die mit "right" or "wrong" beantwortet werden musst, wovon du denkst, das es stimmt und diese Frage vorkam. Aber: Sie bauen oft kleine Fehler ein, z.b. fragen sie, ob Tina am **montag** angeln war, und du denkst:Ja!, dabei stand im Text, dass Tina am **Dienstag** angeln war. Verstehst du was ich meine? Sie bauen Fehler ein, die einem nicht gleich klar sind. Lies dir also auch die **Fragen** genauestens durch. Wenn ihr einen Text auf CD anhört, hör gut hin, und frag später deine/n Lehrer/in ob sie/er es nochmals abspielt. Viel Glück, toi,toi,toi!!! Eine geöffnete Datei wird durch einen sogenannten *file descriptor* repräsentiert.  


Mit 


```
[anweisung] n> [datei]
```
 wird [anweisung] ausgeführt und das, was der dadurch erzeugte Prozess in die Datei mit file descriptor n schreibt, wird stattdessen in die Datei [datei] gerschrieben.   
Beim Programmstart werden üblicherweise automatisch drei Dateien geöffnet:

    0: stdin Die Standardeingabe  


    1: stdout Die Standardausgabe

    2: stderr Die Fehlerausgabe

**Beispiele.**


```
ls 1> files.txt  

```
schreibt den Inhalt des aktuellen Ordners in die Datei files.txt und zeigt Fehlermeldungen am Bildschirm an. Die 1 hätte hier weggelassen werden können.  

```
ls 2> ls.err  

```
Zeigt den Inhalt des aktuellen Ordners am Bildschirm an und schreibt Fehlermeldungen in die Datei ls.err.
```
ls 2>ls.err 1> files.txt  

```
Schreibt Inhalt des aktuellen Ordners in die Datei files.txt und Fehlermeldungen in die Datei ls.err.
```
ls 2>&1 | cat > output  

```
Schreibt Inhalt des aktuellen Ordners und Fehlermeldungen in die Datei output. Die Akkuspannung ist immer niedriger als die Netzteilspannung. Auf der Unetrseite des Laptops steht drauf wie viel der braucht.


Ist die SPannung zu hoch, wird zu viel Leistung in den Spanungsreglern des Laptops umgesetzt, der Regler wird zu heiß und brennt über kurz oder lang durch.


Das Quietschen deutet darauf hin dass der weit außerhalb seines Betriebsbereiches läuft und dadurch dann besonders ineffizient arbeitet, also richtig viel Strom zieht und in Wärme umsetzt. Wenn du die Schublade rausziehst dann siehst du an der linken Seite eine Schiene wo die Schublade drauffährt. Du musst die quasi hochdrücken und dann ziehen.  
Keine Ahnung was sich die Ingenieure bei diesem Mist gedacht haben.