কিভাবে আমি আমার এসএসপি ওয়েব সাইটটি এসভিএন রেভিশন নম্বর সংকলন করব?

স্ট্যাক ওভারফ্লো নীচে একটি বিপর্যয়ের সংস্করণ সংখ্যা আছে:

svn পুনর্বিবেচনা: 679

আমি আমার । NET ওয়েব সাইট / অ্যাপ্লিকেশন , উইন্ডোজ ফরম, WPD প্রকল্প / সমাধানগুলির সাথে এই ধরনের স্বয়ংক্রিয় সংস্করণ ব্যবহার করতে চাই।

আমি কিভাবে এটি বাস্তবায়ন করবেন?

0
যোগ সম্পাদিত
মতামত: 1
@ বেলন যদি আপনি টরটোসএসভিএন ব্যবহার করছেন, তাহলে আপনি প্যাকেজটি সাবওয়েসিভার ব্যবহার করতে পারেন কার্যক্রম. এটি একটি কার্যকরী কপি জিজ্ঞাসা করে এবং আপনাকে শুধু সর্বোচ্চ পুনর্বিবেচনা সংখ্যা বলে। স্বীকার করা হয়, এটি একটি সার্ভারের সমস্যার একটি ক্লায়েন্ট-সাইড পদ্ধতি বলে মনে হচ্ছে, কিন্তু এটি একটি চমৎকার কমান্ড লাইন প্রোগ্রাম, আপনি খুব সহজেই ব্যবহারের জন্য তার আউটপুট ক্যাপচার করতে সক্ষম হওয়া উচিত
যোগ লেখক nickf, উৎস
যদি আপনি SubWCRev এর জন্য টর্টাইজ এসভিএন ব্যবহার না করেন তবে আমি বলেছি যে , আপনি svnversion যা একই জিনিস করে।
যোগ লেখক nickf, উৎস
যোগ লেখক Azhar, উৎস

7 উত্তর

আপনি আপনার কোডে কোথাও নিম্নোক্তটি যোগ করে এটি করতে পারেন

$Id:$

সুতরাং উদাহরণস্বরূপ @ জেফ:

<div id="svnrevision">svn revision: $Id:$</div>

এবং যখন সার্ভারে চেক করা হয়েছে তখন $ আইডি প্রতিস্থাপিত হবে: $ বর্তমান রিভিশন নম্বর দিয়ে। আমিও এই রেফারেন্সটি পেয়েছি

There is also $Date:$, $Rev:$, $Revision:$

0
যোগ
আপনি নিশ্চিত করতে পারেন যে ফাইলগুলি svn হচ্ছে: কীওয়ার্ডগুলি ভাল হিসাবে সেট করেছে, অন্যথায় $ Id $ ইত্যাদি স্বয়ংক্রিয়-প্রতিস্থাপিত হয় না। এই পৃষ্ঠাটি দেখুন। (Svn: কীওয়ার্ডগুলি নীচে স্ক্রোল করুন)
যোগ লেখক Michael Stum, উৎস
আমি শুধু $ Rev $ ব্যবহার করে এটি চেষ্টা করেছি এবং এটি কাজ করে - একটি পরিমাণে। সমস্যা হল যে এটি প্রদর্শিত হয় যখন এটি প্রদর্শিত ফাইলটি পরিবর্তিত হয় তখনই এটি আপডেট করা হয়। এর মানে হল যে যদি এই প্রকল্পে পরিবর্তন করা হয় যা $ Rev $ এর সাথে ফাইলটি প্রভাবিত করে না (আমার ক্ষেত্রে, আমার ASP.NET মাস্টার পৃষ্ঠাটি), তাহলে এই প্রোজেক্টটি ব্যবহারকারীকে দেখানো তুলনায় একটি উচ্চতর সংশোধন থাকবে । কেউ এই বিষয়ে কোন চিন্তা আছে? এসইওএন পেতে সর্বদা ফাইলে কীওয়ার্ডগুলি আপডেট করার উপায় আছে কি?
যোগ লেখক Chris Roberts, উৎস
এটি কি এই নির্দিষ্ট ফাইলের সর্বশেষ পরিবর্তনের সংশোধন সংখ্যাটি সন্নিবেশ করবে না? আমি একটি দুই ফাইল সংগ্রহস্থল সেট আপ করার চেষ্টা এবং এক পরিবর্তন, এবং এক্সপোর্ট এবং চেকআউট উভয় চেষ্টা, এবং অন্যান্য ফাইল উভয় ক্ষেত্রে 1 এ থাকুন।
যোগ লেখক Lasse Vågsæther Karl, উৎস
আপনি ঠিক আছেন, আপনাকে একটি ভিন্ন প্রক্রিয়া ব্যবহার করতে হবে।
যোগ লেখক Lasse Vågsæther Karl, উৎস
VisualSVN এবং TortoiseSVN ব্যবহার করে, $ Id যোগ করা হচ্ছে: $ ঠিক এই পৃষ্ঠাটিকে "$ Id: $" রেন্ডার করার জন্য সৃষ্টি করেছে। সার্ভার / ক্লায়েন্ট এই উত্তর কাজ করে কি নোট দরকারী হতে পারে।
যোগ লেখক Travis, উৎস
আপনাকে svn: কীওয়ার্ডগুলি ফাইলটিতে সাবভার্সন সম্পত্তি যোগ করতে হবে এবং নিশ্চিত করুন যে এতে আইডি মূল্য অন্তর্ভুক্ত রয়েছে। যাইহোক, এটি সামান্য ব্যবহার এর: এই বিশেষ ফাইল সংশোধন করা হয়েছে নাও হতে পারে।
যোগ লেখক Álvaro González, উৎস
lassevk সঠিক, এটি কেবল পরিবর্তিত হয় যখন ফাইল নিজেই পরিবর্তন করে।
যোগ লেখক Bruno Lopes, উৎস

মনে হচ্ছে জেফ ক্রুজ কন্ট্রোল। NET এর উপর ভিত্তি করে ব্যবহার করছে কিছু পডকাস্ট প্রতিলিপি মাধ্যমে leafing এটি সোর্স কন্ট্রোল থেকে উত্পাদন পর্যন্ত স্বয়ংক্রিয় স্থাপনার ক্ষমতা বলে মনে হচ্ছে। এই সন্নিবেশ ঘটছে যেখানে হতে পারে?

0
যোগ
লিঙ্কটি @ সাইন_গ্র্রোসন
যোগ লেখক Cacho Santa, উৎস
যদি আপনি CruiseControl.Net ব্যবহার না করে থাকেন তবে আমার উত্তরটি দেখুন (লজ্জাহীন প্ল্যাগ!) - stackoverflow.com/questions/163/… ; ণ)
যোগ লেখক Andrew, উৎস

$rev and others like it are revisions for the individual files, so they won't change unless the file changes. The number on the webpage is (most likely, I'm assuming here) the svn revision number for the whole project. That is different than the file revisions, which others have been pointing to.

এই ক্ষেত্রে আমি অনুমান করি যে CCNET প্রকল্পটির পুনর্বিবেচনা সংখ্যাটি টেনে আনছে এবং সেই নম্বর দিয়ে ওয়েবপৃষ্ঠাটির একটি অংশ পুনর্লিখন করছে। কোন সিআই সমাধান এই কাজ করতে সক্ষম হওয়া উচিত, CCNET এবং Teamcity সঙ্গে নিজেকে সেট আপ (যদিও ওয়েবপৃষ্ঠা, কিন্তু স্থাপনার / সমাবেশ সংস্করণ স্বয়ংক্রিয় সংস্করণ)।

আপনার এটি করার জন্য, এটি সমর্থন করে এমন একটি সিআই সমাধান ব্যবহার করুন, অথবা আপনার বিল্ড প্রক্রিয়াটি ব্যবহার করুন (MSbuild / Nant) যে সংস্করণটি সঞ্চয় করতে এবং "স্থাপনের" আগে ফাইলগুলিতে এটি লিখতে।

0
যোগ

To add to @BradWilson's answer: "You could also get your source control provider to provide the source revision number if you want"

Subversion এবং MSBuild সংযোগ করতে: MSBuild কমিউনিটি টাস্ক প্রকল্প

0
যোগ

@Balloon আপনি যদি TortoiseSVN ব্যবহার করে থাকেন, তাহলে আপনি প্যাকেজযুক্ত সাবওয়েসিভার প্রোগ্রামটি ব্যবহার করতে পারেন। এটি একটি কার্যকরী কপি জিজ্ঞাসা করে এবং আপনাকে শুধু সর্বোচ্চ পুনর্বিবেচনা সংখ্যা বলে। স্বীকার করা হয়, এটি একটি সার্ভারের সমস্যার একটি ক্লায়েন্ট-সাইড পদ্ধতি বলে মনে হচ্ছে, কিন্তু এটি একটি চমৎকার কমান্ড লাইন প্রোগ্রাম, আপনি খুব সহজেই ব্যবহারের জন্য তার আউটপুট ক্যাপচার করতে সক্ষম হওয়া উচিত

0
যোগ

আমরা আমাদের স্বয়ংক্রিয় বিল্ডগুলির জন্য এটি xUnit.net করি। আমরা CruiseControl.net ব্যবহার করি (এবং টিমসিটি চেষ্টা করছে)। MSBuild টাস্ক যা আমরা ক্রমাগত একীকরণের জন্য চালনা করি স্বয়ংক্রিয়ভাবে আমাদের জন্য বিল্ড সংখ্যা পরিবর্তন করে, ফলে জাভাস্ক্রিপ্টটি তৈরী করা ফাইলটি DLLs এবং EXEs এর একটি সঠিক সংস্করণ সংকলন অন্তর্ভুক্ত করে।

Our MSBuild file contains a UsingTask reference for a DLL which does regular expression replacements: (you're welcome to use this DLL, as it's covered by the MS-PL license as well)

  

পরবর্তী, আমরা বিল্ড নম্বরটি সরাতে পারি, যা CI সিস্টেম দ্বারা স্বয়ংক্রিয়ভাবে সরবরাহ করা হয়। আপনি যদি চান যে আপনার উত্স রিভিশন নম্বর প্রদানের জন্য আপনার উৎস কন্ট্রোল প্রদানকারী পেতে পারেন, তবে আমরা CI সিস্টেমের মধ্যে # বিল্ডটি আরও বেশি উপযোগী খুঁজে পেয়েছি, কারণ শুধুমাত্র সিআই বিল্ড সংখ্যা দ্বারা ইন্টিগ্রেশন ফলাফল দেখতে পারে না, এটি একটি বিল্ট ইন অন্তর্ভুক্ত করা হয়েছে যা changeet (গুলি) ফিরে লিঙ্ক।

 <!-- Cascading attempts to find a build number -->

 
   $(BUILD_NUMBER)
 
 
   $(ccnetlabel)
 
 
   0
 

(আমরা BUILD_NUMBER চেষ্টা করি, যা টিমসিটি থেকে এসেছে, তারপর ccnetlabel, যা CC.net থেকে পাওয়া যায় এবং যদি না হয় তবে আমরা 0 তে ডিফল্ট করি, যাতে আমরা স্বয়ংক্রিয়ভাবে বিল্ড স্ক্রিপ্টটি নিজে পরীক্ষা করতে পারি।)

পরবর্তী, আমাদের এমন একটি কার্য আছে যা একটি গ্লোবাল অ্যাড্রেসিং ইনফোইউস ফাইলের মধ্যে বিল্ড নম্বর সেট করে দেয় যা আমরা আমাদের সমস্ত প্রকল্পগুলিতে যুক্ত করি:

 
   
   
 

এই AssemblyVersion অ্যাট্রিবিউট খুঁজে, এবং a.b.c.bildNumber সঙ্গে a.b.c.d সংস্করণ নম্বর প্রতিস্থাপিত। আমরা সাধারণত স্রোতকে বাক্সে চেক করে রাখি, বিল্ডার সংখ্যার প্রথম তিনটি অংশ সংশোধন করে এবং চতুর্থ শূন্য (f.e., আজ এটি 1.0.2.0)।

আপনার বিল্ড প্রক্রিয়াতে, SetVersionNumber টাস্ক আপনার বিল্ড টাস্কের আগে নিশ্চিত করুন। শেষ পর্যন্ত, আমরা আমাদের জিপ টাস্ক ব্যবহার করে বিল্ড ফলাফলগুলি জিন্নাত করি যাতে প্রত্যেকটি স্বয়ংক্রিয় বিল্ডের জন্য আমাদের বাইনারিগুলির একটি ইতিহাস আছে।

0
যোগ

যদি আপনি ASP.Net MVC (StackOverflow হিসাবে) ব্যবহার করেন তবে আমি কীভাবে 3-পদক্ষেপ নির্দেশনা অনুসরণ করতে সহজ স্বয়ংক্রিয়ভাবে সাম্প্রতিক SVN সংস্করণটি দেখতে এবং প্রদর্শন করতে গাইড এই খুব প্রশ্ন সম্পর্কে নিজেকে চিন্তা অনুপ্রাণিত হয়েছিল! হে)

0
যোগ
লিঙ্কটি ভাঙ্গা হয়, বা সাইটটি ডাউন আছে
যোগ লেখক Cacho Santa, উৎস
ধন্যবাদ Cacho, নির্দিষ্ট - এটি একটি সার্ভার ত্রুটি ছিল [sic]; ও)
যোগ লেখক Andrew, উৎস
সংশোধন করা হয়েছে! আমাকে জানাতে ধন্যবাদ: ও)
যোগ লেখক Andrew, উৎস
মহান শোনাচ্ছে, লিঙ্ক লঙ্ঘন যদিও!
যোগ লেখক Peter C, উৎস
আমাদের SVN পুনর্বিবেচনাগুলির উপর ভিত্তি করে একটি সংস্করণ প্রদর্শন করার জন্য আমাদের এটি একটি দুর্দান্ত সমাধান ছিল। এক সুবিধা হল যে এটি আপনার SVN সার্ভারে একটি কল প্রয়োজন হয় না।
যোগ লেখক Ben Elder, উৎস