Subversion: extern project mergen met eigen trunk

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • dtech
  • Registratie: Juni 2005
  • Laatst online: 13-06 23:19
Ik ben op dit moment bezig met het customizen van een open-source forum. Om de volgende directory-structuur opgezet:
code:
1
2
trunk/
dependencies/

(+ natuurlijk de standaardingen als branches, tags, doc etc.)

/dependencies/ heb ik als svn:externals property "projectnaam http://pad.naar/project/branch" meegegeven. Hierdoor wordt de stabiele branch van het project bijgehouden in de /dependencies/projectnaam map.
Ik heb vervolgens de branch (handmatig) gekopiëerd naar /trunk/ en ingecheckt in svn en ben changes gaan maken. So far so good.

Probleem nu echter is dat het moederproject met een (minor) update is gekomen die ik graag wil mergen naar mijn trunk. Ik kan er echter niet achter komen hoe dat moet.

De standaard merge-tools van subclipse (svn plugin voor eclipse) geven de volgende fout:
"http://pad.naar/project/branch" does not correspond with "http://pad.naar/mijn/svn"
3-way merge idem. Ik vermoed dat ik met de cmdline-tools eenzelfde resultaat zal krijgen.

Mijn alternatief was het volgende:
  1. Nieuwe files (van dependency) kopiëren naar de trunk
  2. Commiten
  3. Mergen van reversion "head" met "head-1"
Dat werkt an sich prima voor de files in de root van de trunk ("/trunk/file.iets" bijv.) maar gaat fout bij de mappen en de bestanden in die mappen: die herkent ie als extern en als ik daar probeer te comitten lukt dat niet (omdat hij om een user+pass vraagt voor de dependecy-projectsite). Ik vermoed dat het iets te maken heeft met de .svn mappen die zijn meegekopiëerd.

Is er een goede manier om te bereiken wat ik wil? Is mijn mappenopzet goed of kan ik beter een andere nemen?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:46

Creepy

Tactical Espionage Splatterer

Kan je hiermee uit de voeten: http://svnbook.red-bean.c...tml#svn.advanced.vendorbr ? Daar taggen ze elke versie van het externe project lokaal, en mergen vervolgens de wijzigingen tussen twee tags in het eigen project.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • dtech
  • Registratie: Juni 2005
  • Laatst online: 13-06 23:19
Het idee klinkt goed, maar ik krijg het niet voor elkaar. Als ik het goed begrijp is het idee als volgt:
  1. Import externe branch naar lokale repository
  2. tag huidige versie van extern pakket
  3. copy tag naar trunk en maak customizations
Wat an sich prima klinkt, maar ik krijg het importeren niet voor elkaar, ik weet alleen niet of het mijn fout is of dat hun subversion configuratie niet helemaal lekker is. Checkout werkt wel maar dan kan ik (natuurlijk) niet taggen

Het gaat om het MyBB pakket en ze hebben een publiek subversion repository met een branch voor de 1.6 lijn. Anonymous-read access maar je krijgt wel elke keer password dialog.

Het importeren naar /dependencies/mybb/1.6.2 lukt me niet, dit is de output & het commando (Windows) dat ik krijg:
code:
1
2
3
4
5
6
7
8
C:\...\myProject\dependencies\mybb>svn import 1.6.2 http://svn.mybboard.net/mybb/branches/1.6-stable/ -m 'MyBB 1.6.2. import'
Authentication realm: <http://svn.mybboard.net:80> Subversion Access
Password for 'MijnWindowsUsername': <Enter>
Authentication realm: <http://svn.mybboard.net:80> Subversion Access
Username: Password for '': <Enter>
Authentication realm: <http://svn.mybboard.net:80> Subversion Access
Username: Password for '': <Enter>
svn: MKACTIVITY of '/mybb/!svn/act/1d9856c8-419e-11e0-ad9f-47b6a4d79f94': authorization failed: Could not authenticate to server: rejected Basic challenge (http://svn.mybboard.net)


Ik heb ook al diverse combinaties van 'anonymous' geprobeerd. Kan ik dit probleem zelf oplossen of moet ik bij de MyBB devs wezen?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 17:46

Creepy

Tactical Espionage Splatterer

Bekijk even de handleiding van svn import (staat ook in dat redbook dat ik heb gelinkt). Het eerste argument is de source (een directory of een svn url) en de tweede de repo waar het ingezet moet worden. Je probeert nu een directory "1.6.2" te importeren in http://svn.mybboard.net/mybb/branches/1.6-stable/ en dan heb je daarop schrijf rechten nodig ;)

Je zult een checkout moeten doen van MyBB in een directory en dan een "svn import <directory waar je de checkout hebt gedaan> <url van je eigen mybb repo hier>. Vervolgens tag je die. Die tag copy je naar je eigen project.

Met een nieuwe versie van MyBB check je die weer uit, update je dat geheel in je eigen mybb repo, en vervolgens doe je een merge tussen de getagde versie en de net geupdate versie en zet je die wijzigingen in je eigen project.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney