كيف يمكنني استخدام SharpSVN لبرمجي "إضافة إلى قائمة التجاهل" للمجلد

StackOverflow https://stackoverflow.com/questions/2315557

  •  22-09-2019
  •  | 
  •  

سؤال

كيف يمكنني استخدام SharpSVN بشكل برمجي لإضافة مجلد إلى قائمة التجاهل؟

تحرير: محاولة:
هذا ما جربته

svnClient.GetProperty(new SvnUriTarget("svn://svn.foo.com/" + DatabaseName + "/"), SvnPropertyNames.SvnIgnore, out ignores);
ignores += " Artifacts";
var args = new SvnSetPropertyArgs() { BaseRevision = ???, LogMessage = "update ignore list" };
svnClient.SetProperty(new Uri("svn://svn.foo.com/" + DatabaseName + "/"), SvnPropertyNames.SvnIgnore, ignores, args);

لكنني لا أعرف كيف أحصل على baserevision (يمكنني الحصول عليها يدويًا ، وهذا يعمل ، لكن جميع مجموعات GetProperty التي حاولت لا يبدو أنها أعطيها لي.)

الحل: استنادًا إلى إجابة بيرت

SvnGetPropertyArgs getArgs = new SvnGetPropertyArgs(){};
string ignores = "Artifacts";
string result;
if(svnClient.GetProperty(new SvnUriTarget("svn://svn.foo.com/" + ProjectName + "/trunk/"), SvnPropertyNames.SvnIgnore,out result))
{
    ignores = result + " Artifacts"; //TODO: check for existing & tidy formatting.
}
svnClient.SetProperty(UncPath.TrimEnd('\\'), SvnPropertyNames.SvnIgnore, ignores);
SvnCommit(svnClient);
هل كانت مفيدة؟

المحلول

يتم تخزين قائمة التجاهل في خاصية "SVN: تجاهل" على الدليل الأصل الذي يحتوي على الملف/الدليل الذي يتم تجاهله. (انظر كتاب التخريب أو svn help propset)

لذلك لإضافة عنصر ، يجب عليك الحصول على قيمة الخاصية الأصلية (في حالة وجود واحد) ثم إضافة العنصر الإضافي مفصلاً بمساحة بيضاء. وظائف SVNClient لهذا هي GetProperty و SetProperty ().

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top