Я придумал следующую команду (для Git 2.13 и позже):
git branch -r --sort=creatordate \
--format "%(creatordate:relative);%(committername);%(refname:lstrip=-1)" \
| grep -v ";HEAD$" \
| column -s ";" -t
Если у вас нет column
, вы можете заменить последнюю строку на
| sed -e "s/;/\t/g"
Вывод выглядит как
6 years ago Tom Preston-Werner book
4 years, 4 months ago Parker Moore 0.12.1-release
4 years ago Matt Rogers 1.0-branch
3 years, 11 months ago Matt Rogers 1.2_branch
3 years, 1 month ago Parker Moore v1-stable
12 months ago Ben Balter pages-as-documents
10 months ago Jordon Bedwell make-jekyll-parallel
6 months ago Pat Hawks to_integer
5 months ago Parker Moore 3.4-stable-backport-5920
4 months ago Parker Moore yajl-ruby-2-4-patch
4 weeks ago Parker Moore 3.4-stable
3 weeks ago Parker Moore rouge-1-and-2
19 hours ago jekyllbot master
Я написал пост в блоге о том, как работают различные части.
Я не понимаю, почему это невозможно. Вы аннотируете службу с помощью атрибута [ServiceContract] (а не DataContractFormat). Он должен выглядеть так:
[ServiceContract]
public interface IDoStuff
{
[OperationContract]
[WebInvoke(Method = "POST",
UriTemplate = "DoStuff",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json)]
TestObj DoWork(TestInputObj Inp);
}
Чтобы сделать его xml, просто измените формат ответа. Когда вы выполните команду post, вы получите json, отдельный метод с форматом xml даст вам xml.
Знаете ли вы, что вам нужен XmlSerializerFormat? Это необходимо только в том случае, если вам нужно сериализовать в XML, который не соответствует правилам сериализатора контрактов данных.
Если вам это нужно, то вам понадобится вторая служба. Хотя это довольно просто. Просто извлеките внутренности общих операций в отдельные методы, а затем вызовите эти методы из обеих служб.