Как зафиксировать Git-репо на пустом SVN-сервере репо?

Это решение имеет сложность O (n ^ 2). O (1) - пространственная сложность.

public class longestPalindromeInAString {

        public static void main(String[] args) {
            String a =  "xyMADAMpRACECARwl"; 
            String res = "";
            //String longest = a.substring(0,1);
            //System.out.println("longest => " +longest);
            for (int i = 0; i < a.length(); i++) {
                String temp = helper(a,i,i);//even palindrome
                if(temp.length() > res.length()) {res = temp ;}
                temp = helper(a,i,i+1);// odd length palindrome
                if(temp.length() > res.length()) { res = temp ;}

            }//for
            System.out.println(res);
            System.out.println("length of " + res + " is " + res.length());

        }

        private static String helper(String a, int left, int right) {
            while(left>= 0 && right <= a.length() -1  &&  a.charAt(left) == a.charAt(right)) {
                left-- ;right++ ;
            }
            String curr = a.substring(left + 1 , right);
            System.out.println("curr =>" +curr);
            return curr ;
        }

    }
13
задан Ravi Chhabra 19 January 2009 в 14:15
поделиться

2 ответа

Вот то, что я сделал бы:

git-svn clone http://remote.svn.server.com otherdir

Тогда в другом dir вытягивают изменения локально от Вашего предыдущего dir Тогда, у Вас должен быть мерзавец repo, который "соединен" через мерзавца-svn, и необходимо быть в состоянии использовать dcommit на нем.

Это могло бы также быть полезным чтением.

6
ответ дан tcurdt 19 January 2009 в 14:15
поделиться
  • 1
    Я подозреваю, что их мотивация является скоростью. – Steven Sudit 9 August 2010 в 17:54

Мне недавно понадобилось что-то подобное, и этот процесс относительно прост.

Есть хорошее руководство Брэндона Димчеффа, «Передать линейную историю git для подрывной деятельности» (заменяет старая неработающая ссылка ), на которой основаны эти шаги.

Начиная с Git версии 1.6.3, это шаги:

$ svnadmin create svn_repository
$ svn mkdir -m "Initial setup" file:///full/path/to/svn_repository/trunk

$ mkdir gitrepo && cd gitrepo
$ git init
$ echo 'Hello from Git' > file.txt
$ git add file.txt
$ git commit -m "Hello from Git"

$ git svn init --trunk=trunk file:///full/path/to/svn_repository/
$ git svn fetch

$ git branch -a # Lists remotes/trunk

$ git rebase --onto remotes/trunk --root master
# => Applying: Hello from Git etc.

$ git svn dcommit
# => Committing to ... Committed r2 ... etc

Вы можете выполнить svn checkout svn_repository теперь и посмотрите ваше репозиторий Git.

28
ответ дан 1 December 2019 в 19:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: